성능을 위해 명명 된 쿼리와 Hibernate Criteria을 비교하려고합니다. 나는 그것이 모두 실제 쿼리 자체에 달려 있다는 것을 알고 있으며 마지막 단어는 런타임에 프로파일이 어떻게되는지에 관한 것입니다. 여전히, 각각에 들어가는 것을 정리하려고합니다.Hibernate - 명명 된 쿼리와 명명 된 쿼리
기준 매개 변수에서 작동 : - 최대 절전 모드 기준 및 명명 된 쿼리는 기본적으로 어떻게 작동하는지
이PART-1가 :
은 내가 모두에서 확인/수정을 찾고 두 부분 &의 Q를 구성하려 . 런타임시 쿼리에서 구문 분석이 필요하지 않습니다. 과 같은 여러 가지 검색 및 "현재 제공되는"매개 변수가 있으며 결과를 정렬하고 스크롤 가능한 것으로 반환하십시오. 기준을 읽지는 않았지만 확인 기준은 (필드에 설정된 매개 변수를 기반으로) 필드에 대한 인덱스가 모두 더 빠르게 만들려면 입니다.따라서 Criteria의 이점은 평범한 HQL 과 비교할 때 실행 중 속도입니다.
명명 된 쿼리는 HQL-- 과 동일한 장점이 있습니다. 쿼리는 시작시 한 번 구문 분석됩니다. 그런 다음 응용 프로그램에서 필요에 따라 을 실행합니다.
PART-2 - 비교하는 두 :
이 그림에서그래서,
기준 및 명명 된 쿼리가 서로 어떻게 비교합니까?
기준 수단 최적화하고, 따라서 쿼리를 빠르게하기 위해 한 (?)
명명 된 쿼리는 "정의 - 한 번 사용의 이점을 가지고 여러 테이블 여러 params--에서 복잡한 쿼리에 대해 잘 작동 -everywhere "및 은"light "쿼리에 대해 꽤 괜찮습니다. 일반적으로 단일 테이블에 소량의 매개 변수가있는 복잡한 검색은 덜 복잡합니다. 빈번한 질의에 대해서조차 더 낫다.
참고 : 다른 유용한 토론에서는 매우 유용합니다. Hibernate Criteria vs HQL: which is faster?.
TIA.