단일 범퍼카 토토 스캔은 범퍼카 토토의 열을 연산자 클래스의 연산자와 함께 사용하고와 함께 사용하는 쿼리 클로만 만 사용할 수 있습니다and
. 예를 들어, 범퍼카 토토가 주어지면(a, b)
쿼리 조건과 같은여기서 a = 5 및 b = 6
범퍼카 토토를 사용할 수 있지만 쿼리여기서 a = 5 또는 b = 6
범퍼카 토토를 직접 사용할 수 없습니다.
다행스럽게도PostgreSQL단일 범퍼카 토토 스캔으로 구현할 수없는 케이스를 처리하기 위해 여러 범퍼카 토토 (동일한 범퍼카 토토의 여러 사용 포함)를 결합 할 수 있습니다. 시스템이 형성 될 수 있습니다and
and또는
여러 범퍼카 토토 스캔의 조건. 예를 들어, 쿼리와 같은여기서 x = 42 또는 x = 47 또는 x = 53 또는 x = 99
| 범퍼카 토토의 4 개의 별도 스캔으로 나눌 수 있습니다x
, 각각의 쿼리 절 중 하나를 사용하여 스캔합니다. 그런 다음이 스캔의 결과를 함께 뿌려 결과를 생성합니다.x
andy
, 쿼리와 같은 가능한 하나의 구현여기서 x = 5 및 y = 6
| 각 인덱스를 적절한 쿼리 조항과 함께 사용한 다음 인덱스 결과를 함께 사용하여 결과 행을 식별합니다.
여러 범퍼카 토토를 결합하려면 시스템이 필요한 각 범퍼카 토토를 스캔하고 a를 준비합니다.비트 맵메모리에서 그 인덱스 조건과 일치하는 것으로보고 된 테이블 행의 위치를 제공합니다. 그런 다음 비트 맵은 쿼리에 의해 필요에 따라 anded 및 켜집니다.주문 by
절. 이러한 이유로, 각 추가 범퍼카 토토 스캔이 추가 시간을 추가하기 때문에 플래너는 추가 범퍼카 토토를 사용할 수 있더라도 간단한 범퍼카 토토 스캔을 사용하기로 선택합니다..
가장 간단한 애플리케이션을 제외한 모든 인덱스 조합이 유용 할 수있는 다양한 인덱스 조합이 있으며 데이터베이스 개발자는 어떤 인덱스를 제공 해야하는지 결정해야합니다. 때로는 여러 가지 색 인덱스가 가장 좋지만 때로는 별도의 인덱스를 생성하고 인덱스-컴포업 기능에 의존하는 것이 좋습니다.x
, 때로는 열y
, 때로는 두 열 모두에서 두 개의 개별 색인을 만들도록 선택할 수 있습니다x
andy
, 범퍼카 토토 조합에 의존하여 두 열을 사용하는 쿼리를 처리합니다. 에서 멀티 컬럼 범퍼카 토토를 만들 수도 있습니다.(x, y)
. 이 범퍼카 토토는 일반적으로 두 열을 포함하는 쿼리에 대한 범퍼카 토토 조합보다 더 효율적이지만섹션 11.3, 전용 쿼리에는 거의 쓸모가 없습니다y
이므로 유일한 색인이되어서는 안됩니다. 멀티 컬럼 범퍼카 토토와 별도의 색인의 조합y
합리적으로 잘 봉사 할 것입니다. 전용 쿼리x
, 멀티 컬럼 범퍼카 토토는 사용될 수 있지만, 범퍼카 토토의 색인보다 더 크고 느리게x
혼자. 마지막 대안은 세 범퍼카 토토를 모두 만드는 것이지만, 테이블이 업데이트 된 것보다 훨씬 더 자주 검색되고 세 가지 유형의 쿼리가 모두 일반적인 경우에만 합리적 일 수 있습니다.
문서에 올바른 것이 없으면 일치하지 않습니다.이 양식문서 문제를보고하려면