이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 11.5. 여러 윈 토토 결합버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

11.5. 여러 젠 토토 결합

단일 젠 토토 스캔은 운영자 클래스의 연산자와 함께 젠 토토의 열을 가입합니다. 와 함께and. 예를 들어, 젠 토토가 주어지면(a, b)쿼리 조건여기서 a = 5 및 b = 6젠 토토를 사용할 수는 있지만 a Query Like여기서 a = 5 또는 b = 6할 수 없습니다 젠 토토를 직접 사용하십시오.

다행스럽게도PostgreSQL여러 젠 토토를 결합하는 기능 (여러 사용 포함 동일한 젠 토토) 단일로 구현할 수없는 케이스를 처리합니다. 젠 토토 스캔. 시스템이 형성 될 수 있습니다또는여러 젠 토토 스캔에 대한 조건. 예를 들어, 쿼리와 같은여기서 x = 42 또는 x = 47 또는 x = 53 또는 x = 994 개로 분리 될 수 있습니다 젠 토토 스캔x, 각 스캔 사용 쿼리 조항 중 하나. 그런 다음이 스캔 결과가 궤도에 올랐습니다 결과를 생성하기 위해 함께. 또 다른 예는 우리가 있다면입니다 별도의 색인xandy, 쿼리와 같은 가능한 하나의 구현여기서 x = 5 및 y = 6각 색인을 사용하는 것입니다 적절한 쿼리 조항을 사용하여 색인이 함께 결과 행을 식별하기위한 결과.

여러 젠 토토를 결합하려면 시스템이 필요한 각 젠 토토를 스캔합니다. 그리고 준비비트 맵메모리를 제공합니다 그 인덱스와 일치하는 것으로보고 된 테이블 행의 위치 정황. 그런 다음 비트 맵은 필요에 따라 함께 켜지고 정리됩니다. 쿼리에 의해. 마지막으로 실제 테이블 행이 방문됩니다 반환. 테이블 행은 물리적 순서로 방문됩니다 그것이 비트 맵이 어떻게 배치 되는가입니다. 이것은 모든 순서를 의미합니다 원래 인덱스가 손실되므로 별도의 정렬 단계는 쿼리에 필요한 경우주문 by절. 이러한 이유로, 각 추가 젠 토토 스캔 때문입니다 추가 시간을 추가하면 플래너는 때때로 간단한 것을 사용하기로 선택합니다. 추가 젠 토토를 사용할 수 있지만 젠 토토 스캔 사용되었습니다.

가장 간단한 애플리케이션을 제외한 모든 것이 다양합니다 유용 할 수있는 젠 토토 조합과 데이터베이스 개발자는 제공 할 젠 토토를 결정하기 위해 트레이드 오프를 만들어야합니다. 때로는 여러 가지색 젠 토토가 가장 좋지만 때로는 더 좋습니다 별도의 젠 토토를 생성하고 젠 토토-컴포지션에 의존합니다 특징. 예를 들어, 작업 부하에 쿼리가 혼합되어있는 경우 때로는 열만 포함x, 때로는 열만y두 열 모두에서 두 개의 개별 색인을 만들도록 선택할 수 있습니다xandy, 의존 젠 토토 조합에서 두 열을 사용하는 쿼리를 처리합니다. 에서 멀티 컬럼 젠 토토를 만들 수도 있습니다.(x, y). 이 지수는 일반적으로 더 효율적입니다 두 열이 모두 관련된 쿼리에 대한 젠 토토 조합보다 논의PostgreSQL : 문서 : 9.3 : 멀티 컬럼 메이저 토토 사이트, 전용 쿼리에 대해서는 거의 쓸모가 없습니다y이므로 유일한 색인이되어서는 안됩니다. 조합 멀티 컬럼 젠 토토 및 별도의 색인y합리적으로 잘 봉사 할 것입니다. 관련 쿼리의 경우 오직x, 멀티 컬럼 젠 토토 일 수 있습니다 사용되지만 더 크고 젠 토토보다 느리게 사용됩니다x혼자. 마지막 대안은 창조하는 것입니다 세 젠 토토 모두이지만 이것은 아마도 테이블은 업데이트 된 것보다 훨씬 더 자주 검색되고 세 가지 모두 쿼리 유형이 일반적입니다. 쿼리 유형 중 하나가 많은 경우 다른 것보다 덜 일반적입니다. 공통 유형과 가장 잘 일치하는 두 젠 토토.