2012-03-27 1 views
0

ID와 이름 필드가있는 엔티티가 있다고 가정합니다. 이름으로 엔티티를 조회하고 이름 필드에 데이터베이스 인덱스를 작성합니다.NHibernate는 QueryOver에서 데이터베이스 인덱스를 사용할 수 있습니까?

이제 NHibernate QueryOver를 사용할 때 NHibernate가 이름에 데이터베이스 인덱스를 사용할 수 있습니까?

두 번째 수준의 캐시가 사용되는 경우 NHibernate가 이름으로 entites를 찾는 데 사용할 알고리즘은 무엇입니까?

+0

어떤 2 ​​차 수준의 캐시 공급자를 사용하고 있습니까? –

+0

Windows 용 memcached를 사용하고 있습니다. –

+1

memcached가 사용하는 알고리즘에 대해서는 잘 모르겠지만 비교적 빠릅니다. NHibernate 맵핑에서 2 차 레벨 캐시를 사용하도록 엔티티를 구성해야합니다. 덕분에 –

답변

2

NHibernate는 궁극적으로 SQL을 데이터베이스 서버로 전송합니다. 인덱스 사용 여부를 결정하는 것은 DB 서버 (MySQL, MS SQL Server 등)의 SQL 최적화 프로그램에 달려 있습니다.