나는 이와 같은 질의를 생성하는 nhibernate 질의를 가지고있다. I는 EMPLOYEE WHERE EMPLOYEE.NAME = @ P1 AND MANAGER_ID AND IN (@ P2, P3 @ @ @ P4 ... PN) 등등에서 예시적인 시나리오를NHibernate 질의 최적화
SELECT ID 추출 하였다.
NHprofiler를 사용하여 쿼리에 약 500ms 걸리는 것으로 나타났습니다. 표에는 name 및 manager_id에 대한 색인이 있습니다. 종업원 수는 약 600 만 레코드입니다.
쿼리에 manager_id 내에서 검색 할 레코드가 하나만있는 경우 (예 : EMPLOYEE.NAME = @ P1 AND MANAGER_ID AND IN (@의 P2)는, 쿼리가 약 2 초에 완료 EMPLOYEE FROM
SELECT ID.
따라서이 쿼리는 최종 쿼리를 사용하고 @n 번 (n - pn 수) 쿼리를 실행하여 나눕니다. 그러나 각 쿼리의 성능은 최대 400ms 이상이됩니다.
동등한 StoredProc가의 거기 훨씬 빠르게 수행
내가 여기에 놓친 거지 뭔가가 있나요 .. (다음 관리자 ID 나무를 찾기위한 조건이 있다면이있는)?감사합니다.
적절한 DB 인덱스를 설정 했습니까? –
예 .. sp와 nhibernate가 타격을 가하는 그 동일한 db ..! – bkhanal