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

7.3. 다중 열 윈 토토

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

테이블 테스트2 생성(
  주요 정수,
  사소한 정수,
  이름 varchar
);
(말하자면, 당신은 당신을 유지합니다/dev데이터베이스의 디렉토리...) 그리고 당신은 자주 다음과 같은 쿼리를 만듭니다.
주요한 곳인 test2에서 이름을 선택하세요 =상수AND 미성년자 =상수;
그러면 열에 대한 색인을 정의하는 것이 적절할 수 있습니다전공그리고사소한함께, 예를 들어,
CREATE INDEX test2_mm_idx ON test2(주요, 부);

현재 B-트리 구현만 지원합니다. 다중 열 인덱스. 최대 16개의 열을 지정할 수 있습니다. (이 빌드 시 한도가 변경될 수 있습니다.포스트그레; 파일을 참조하세요config.h.)

쿼리 최적화 프로그램은 쿼리에 다중 열 윈 토토를 사용할 수 있습니다 첫 번째를 포함하는n윈 토토의 연속 열(적절한 옵션과 함께 사용되는 경우) 연산자)에 지정된 총 열 수까지 윈 토토 정의. 예를 들어,(a, b, c)다음과 관련된 쿼리에 사용할 수 있습니다.a, b그리고c또는 둘 다를 포함하는 쿼리에서a그리고b또는 만 포함된 쿼리a, 하지만 다음 국가에서는 그렇지 않습니다. 다른 조합. (관련된 쿼리에서a그리고c최적화기 다음에 대해 색인을 사용하도록 선택할 수 있습니다.a만 그리고 치료c색인이 지정되지 않은 일반적인 것과 같습니다. 열.)

다중 열 색인은 다음과 관련된 절인 경우에만 사용할 수 있습니다. 인덱싱된 열은 다음과 조인됩니다.그리고. 예를 들어,

주요 위치인 test2에서 이름 선택 =상수또는 미성년자 =상수;
색인을 사용할 수 없습니다.test2_mm_idx두 가지를 모두 조회하기 위해 위에 정의됨 열. (다음만 조회하는 데 사용할 수 있습니다.전공열이지만.)

다중 열 색인은 자제해서 사용해야 합니다. 대부분의 시간이 지나면 단일 열의 인덱스로 충분하며 공간이 절약됩니다. 그리고 시간. 3개 이상의 컬럼으로 구성된 인덱스는 거의 확실히 부적절합니다.