쿼리 캐싱은 어떻게 작동하며 nHibernate에서 성능을 향상 시키는가?쿼리 캐싱은 nHibernate에서 성능을 어떻게 개선합니까?
1
A
답변
5
Hibernate는 질의가 캐시 될 때 질의 결과로 생성 된 엔티티들의 ID를 캐싱 할 것이다.
매우 중요하게도 엔티티 자체는 캐시하지 않으며 ID 만 캐시합니다. 즉, 두 번째 레벨 캐시에서 해당 엔티티도 캐시 할 수 있도록 설정해야합니다. 그렇지 않으면, NHiberate는 질의 캐시에서 엔티티의 ID를 얻지 만 실제 엔티티를 얻기 위해 데이터베이스로 가야한다. 그것은 처음부터 데이터베이스에가는 것보다 비용이 많이들 수 있습니다!
중요 : 쿼리는 정확한 SQL 및 매개 변수 값을 기반으로 캐시됩니다. 둘 중 하나라도 차이가 나면 데이터베이스가 손상 될 것입니다. 따라서 입력에 약간의 차이가있는 쿼리 만 캐시하고 싶을 것입니다.
0
nHibernate는 데이터 저장소에 액세스 할 필요가 없으므로 캐시의 내용을 액세스합니다.
2
캐싱을 활성화하면 쿼리를 실행할 때 nHibernate가 쿼리 결과를 어딘가에 저장합니다. SAME 매개 변수를 사용하여 쿼리를 다시 실행하려고하면 캐시가 아닌 데이터베이스에서 결과를 얻을 수 있습니다. 물론 훨씬 빠릅니다! 그러나 다른 애플 리케이션이 백그라운드에서 데이터베이스를 수정할 수 있다는 것을주의하십시오! 그러나 nHibernate는 캐시를 업데이트 할 수있다.
관련 문제
- 1. yui가 성능을 어떻게 개선합니까?
- 2. CTE는 성능을 개선합니까?
- 3. Direct3D 스트리밍 텍스처 성능을 어떻게 개선합니까?
- 4. 견적 과정을 어떻게 개선합니까?
- 5. Hibernate 캐싱은 어떻게 만들거나 개발하나요?
- 6. CodeIgniter 출력 캐싱은 어떻게 작동합니까?
- 7. nhibernate에서 쿼리 오버와 결합하기
- 8. 쿼리 성능을 향상시키는 방법
- 9. nhibernate에서 xml 열을 쿼리 3.0
- 10. nhibernate에서 대체 데이터베이스 스키마 쿼리
- 11. Facebook 세션 프록시는 보안을 어떻게 개선합니까?
- 12. 이 선형 회귀 함수는 어떻게 개선합니까?
- 13. 클래스 캐싱은 레일 2.2에서 어떻게 작동합니까?
- 14. oracle에서 쿼리 성능을 측정하는 방법
- 15. NHibernate에서 표현식을 어떻게 그룹화합니까?
- 16. NHibernate에서 동시성을 어떻게 처리합니까?
- 17. 쿼리 성능을 올바르게 테스트하는 방법
- 18. JSLint는 자바 코딩을 개선합니까?
- 19. 로깅 성능을 어떻게 관리합니까?
- 20. 코 루틴이 성능을 향상시키는 방법
- 21. 교리 2 캐싱은 워크 플로우
- 22. NHibernate에서 명명 된 쿼리 목록 가져 오기
- 23. 어떻게 복제하고 NHibernate에서 테이블을 비교합니까?
- 24. NHibernate에서 집계 함수를 어떻게 맵핑합니까?
- 25. MVC3 - 면도기 뷰 캐싱은 무엇입니까?
- 26. localtime_r() 캐싱은 그만한 가치가 있습니까?
- 27. 실행중인 서버의 성능을 얻기위한 WMI 쿼리
- 28. Visual Studio 웹 사이트를 개발할 때 빌드 시간을 어떻게 개선합니까?
- 29. SSIS 디버깅 성능을 어떻게 극복합니까?
- 30. Magento 성능을 향상시키는 가장 좋은 단계는 무엇입니까?
아마도 엔티티 캐싱 일 것입니다. – Amitabh