2011-01-03 4 views
2

동일한 테이블에 자체 조인 된 id 인 parentId가있는 팀 테이블/엔티티가 있습니다.nhibernate를 사용하여 재귀 자체 조인 SQL에서 최적의 성능을 얻는 방법

는 recursizely가이 이제 선택 N + 1 경고의 원인이되는 NHibernate에 프로파일 러를 사용하여 "IsTopUnit"

라는 팀 엔티티에 속성을 찾을 때까지 .Parent를 계속 전화하는 특성이라고 TopUnit 있습니다. 본질적으로 재귀 조인 쿼리를 최적화하여 Select N + 1 동작을 피할 수 있습니다.

batchsize는 자식 컬렉션에서 작동하는 것처럼 보이지만 재귀 SQL 문을 수행 할 수 없기 때문에 모든 경우에 도움이되는 것처럼 보입니다.

이 질문은 nhibernate 외부에서도 유효하다고 생각합니다. SQL에서 재귀 문을 수행하는 가장 좋은 방법은 무엇입니까? 여러 쿼리로 나눌 필요가있는 것처럼 보입니다.

+0

이 참조 시도 할 수 있습니다 : http://blogs.hibernatingrhinos.com/nhibernate/archive/2008/05/14/how-to-map-a-tree-in-nhibernate.aspx –

답변

관련 문제