내 엔티티 중 하나에 부울 속성이 있습니다. linq 쿼리 중 하나가이 속성에서 필터링됩니다. DotConnect 비효율적 인 부울 비교 SQL 생성
context.Items.Where(one => one.BoolProperty == true)
내가 생성 된 SQL 코드를 볼
은, 다음 쿼리는 데이터베이스 인덱스를 가지고 있지만, 전체 테이블에 액세스 할 수 있습니다하지 않는 한 이것은 분명히 문제가... WHERE "Extend1".BOOL_PROPERTY <> 0
로 변환됩니다.
우리는 닷넷 4.6을 사용하고는, 엔티티 프레임 워크는 6, DevArt 8.5 및 Oracle 12은 오라클의 부울 필드는 숫자입니다 (1,0)
이 경우 비트 맵 인덱스가 작동합니다. 그러나 비트 맵 인덱스가 항상 적절한 것은 아닙니다. [비트 맵 인덱스 대 B- 트리 인덱스 : 어느 시점 및 언제?] (http://www.oracle.com/technetwork/articles/sharma-indexes-093638.html)를 참조하십시오. 'Where (one => one.BoolProperty! = false)'를 시도 했습니까? –