진전체를 지원하지 않습니다
인덱스 스캔. 그 이유는입니다.ExtractValue
|
예를 들어 빈 문자열 또는 빈 배열로 발생할 수 있습니다. ~ 안에
그러한 경우 인덱스 값은 인덱스에 표시되지 않습니다.
그러므로 그것은 불가능합니다진지수 스캔이 가능하도록 보장합니다
테이블에서 모든 행을 찾으십시오.
이 제한 때문에ExtractQuery
반환nkeys
= 0모든 값이 쿼리와 일치한다는 것을 나타냅니다.진오류가 발생합니다. (만약에
쿼리에는 여러 개의 색인 가능한 연산자가 있습니다.
그들이 모두 0에 대해 0을 반환하는 경우에만 발생합니다nkeys.)
운영자 클래스가 우회 할 수 있습니다.
전체 색인 스캔에 대한 제한. 그렇게하려면ExtractValue
최소한 하나를 반환해야합니다 (아마도
더미) 모든 색인 값에 대한 키 및ExtractQuery
무제한을 변환해야합니다
전체 인덱스를 스캔하는 부분 매치 쿼리로 검색하십시오.
이것은 비효율적이지만 코너 케이스를 피하기 위해 필요할 수 있습니다.
와 같은 연산자와의 실패Like또는
서브 세트 포함.
진색인이 가능하다고 가정합니다
운영자는 엄격합니다. 이것은ExtractValue
a
NULL 값 (값은 무례한 상태로 진행됩니다) 및ExtractQuery
NULL에서 호출되지 않습니다
비교 값 중 하나 (대신 쿼리는
타의 추종을 불허).
아마도 더 심각한 제한은입니다.진예를 들어 널 키를 처리 할 수 없습니다 널을 포함하는 배열은 널.