이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 11.3. 멀티 컬럼 토토 캔버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

11.3. 다중 열 토토 커뮤니티

색인은 테이블의 두 개 이상의 열에 정의될 수 있습니다. 예를 들어, 다음 형식의 테이블이 있는 경우:

테이블 테스트2 생성(
  주요 정수,
  사소한 정수,
  이름 varchar
);

(예를 들어, 당신은 당신의 것을 유지합니다/dev디렉토리 데이터베이스에서...) 다음과 같은 쿼리를 자주 실행합니다.

주요한 곳에서 test2에서 이름을 선택하세요 =상수AND 미성년자 =상수;

그러면 열에 대한 색인을 정의하는 것이 적절할 수 있습니다전공그리고사소한함께, 예:

CREATE INDEX test2_mm_idx ON test2(주요, 부);

현재 B-tree, GiST 및 GIN 인덱스 유형만 지원됩니다. 다중 열 인덱스. 최대 32개의 열을 지정할 수 있습니다. (이 빌드 시 한도가 변경될 수 있습니다.포스트그레SQL; 파일을 참조하세요pg_config_manual.h.)

여러 열 B-트리 인덱스는 쿼리 조건과 함께 사용할 수 있습니다 인덱스 열의 하위 집합을 포함하지만 인덱스는 선행에 제약이 있을 때 가장 효율적 (가장 왼쪽) 열. 정확한 규칙은 평등 제약 조건입니다. 선행 열에 대한 부등식 제약 조건과 첫 번째 열에 대한 부등식 제약 조건 등식 제약 조건이 없는 열은 다음 용도로 사용됩니다. 스캔되는 인덱스 부분을 제한하십시오. 제약 조건 이 열의 오른쪽에 있는 열은 인덱스에서 확인됩니다. 그래서 그들은 적절한 테이블 방문을 저장하지만 감소시키지는 않습니다. 스캔해야 하는 인덱스 부분입니다. 예를 들어, 에 대한 색인이 주어졌습니다.(a, b, c)및 쿼리 조건a = 5 AND b = 42 AND c인 경우 < 77, 토토 커뮤니티는 처음부터 스캔되어야 합니다. 로 입력a= 5 및b= 마지막 항목까지 42a= 5. 항목 색인 생성c= 77은 건너뛰지만 여전히 스캔을 통해. 이 지수는 원칙적으로 다음 용도로 사용될 수 있습니다. 제약 조건이 있는 쿼리b및/또는c제약조건 없음a— 하지만 전체 색인은 스캔되므로 대부분의 경우 기획자는 토토 커뮤니티를 사용하여 순차 테이블을 스캔합니다.

다중 열 GiST 인덱스는 쿼리 조건과 함께 사용할 수 있습니다 인덱스 열의 하위 집합을 포함합니다. 조건 추가 열은 인덱스에서 반환되는 항목을 제한합니다. 하지만 첫 번째 열의 조건이 가장 중요합니다. 스캔해야 하는 인덱스의 양을 결정하는 데 사용됩니다. GiST 첫 번째 열에 다음 항목만 있는 경우 인덱스는 상대적으로 효과적이지 않습니다. 여러 개의 고유한 값이 있더라도 몇 가지 고유한 값이 있습니다. 추가 열.

여러 열 GIN 인덱스는 다음 쿼리 조건과 함께 사용할 수 있습니다. 인덱스 열의 하위 집합을 포함합니다. B-tree나 GiST와 달리, 인덱스 검색 효율성은 어떤 인덱스에 관계없이 동일합니다. 쿼리 조건이 사용하는 열입니다.

물론, 각 열은 적절한 연산자와 함께 사용되어야 합니다 토토 커뮤니티 유형에; 다른 연산자가 포함된 절은 그렇지 않습니다. 고려해보세요.

다중 열 색인은 자제해서 사용해야 합니다. 대부분의 경우 상황에서는 단일 열의 토토 커뮤니티로 충분하며 저장됩니다. 공간과 시간. 3개 이상의 열이 있는 토토 커뮤니티는 거의 발생하지 않습니다. 테이블의 사용법이 극단적이지 않는 한 도움이 될 것입니다. 양식화. 또한 참조하세요메이저 토토 사이트 : 문서 : 9.0 : 여러 인덱스 결합다양한 지수의 장점에 대한 논의 구성.