윈 토토는 둘 이상의 열에서 정의 될 수 있습니다. 예를 들어, 이 양식의 테이블이있는 경우 :
테이블 생성 test2 ( 주요 INT, 사소한 int, 이름 바르 르 차 );(예 : 당신은 당신을 지키고 있습니다/dev데이터베이스의 디렉토리 ...) 그리고 당신은 자주 쿼리를 만듭니다
test2에서 이름을 선택하여 major =Constant및 minor =Constant;그러면 열에서 윈 토토를 정의하는 것이 적절할 수 있습니다메이저and마이너함께 (예 :
test2에서 윈 토토 테스트 2_mm_idx 생성 (major, minor);
현재 B-Tree 구현 만 지원합니다 다중 열 지수. 최대 16 개의 열이 지정 될 수 있습니다. (이것 빌딩시 제한을 변경할 수 있습니다Postgres; 파일보기config.h.)
쿼리 최적화기는 쿼리에 멀티 컬럼 윈 토토를 사용할 수 있습니다. 첫 번째n윈 토토의 연속 열 (적절한 상태에서 사용될 때 연산자), 지정된 총 열 수 색인 정의. 예를 들어, 윈 토토의(A, B, C)모든 쿼리에 사용할 수 있습니다a, B및C또는 두 가지 모두 관련된 쿼리aandB또는 in 전용 쿼리a이지만 다른 조합. (관련 쿼리에서aandC최적화기 윈 토토를 사용하도록 선택할 수 있습니다a만 그리고 치료C평범한 무인과처럼 열.)
멀티 컬럼 윈 토토는 조항이 포함 된 경우에만 사용할 수 있습니다. 윈 토토 된 열은와 결합됩니다.and. 예를 들어,
test2에서 이름을 선택하여 major =Constant또는 minor =Constant;색인을 사용할 수 없습니다test2_mm_idx둘 다 찾기 위해 위의 정의 열. ( 만 찾는 데 사용될 수 있습니다전공컬럼.)
다중 열 지수는 드물게 사용해야합니다. 대부분의 시간, 단일 열의 윈 토토는 충분하고 공간을 절약합니다. 그리고 시간. 열이 3 개가 넘는 윈 토토가 거의 있습니다 확실히 부적절합니다.