A 부분 토토 핫는 제작 된 토토 핫입니다술어의
부분 토토 핫을 사용하는 주요 이유 중 하나는 피하는 것입니다.예 11-1쇼
예 11-1. 부분 토토 핫 설정
웹 서버 액세스 로그를
다음과 같은 테이블을 가정합니다.
테이블 생성 access_log (
우리의 예에 맞는 부분 토토 핫을 만들려면
access_log (client_ip)에서 index access_log_client_ip_ix 만들기
이 색인을 사용할 수있는 일반적인 쿼리는 다음과 같습니다.
access_log에서 * 선택 * url = '/index.html'및 client_ip = inet '212.78.10.32';
이 색인을 사용할 수없는 쿼리는 다음과 같습니다.
선택 * ac
이런 종류의 부분 토토 핫이
부분 토토 핫에 대한 또 다른 사용은 값을 제외하는 것입니다.예 11-2. 이것"무관심"존재의 가치
예 11-2. 부분 토토 핫 설정
청구 및 실금이 모두 포함 된 테이블이있는 경우
주문에서 토토 핫 orders_unbilled_index 만들기 (Order_nr)
이 토토 핫을 사용할 수있는 쿼리는입니다.
선택 * 청구 된 명령에서 청구 된 명령에서 rebliced <10000;
그러나 인덱스는 그렇지 않은 쿼리에도 사용할 수 있습니다.Order_nr전혀, 예를 들어
선택 * 청구 된 명령에서 청구 된 명령에서 금액> 5000.00;
이것은의 부분 토토 핫만큼 효율적이지 않습니다.금액열은 이후입니다
이 쿼리는이 토토 핫을 사용할 수 없습니다.
Orders에서 Order_nr = 3501;에서 선택 * 선택 *
3501 명령은 청구 된 것 중 하나 일 수 있습니다.
예제또한 인덱스 된 열과 열을 보여줍니다PostgreSQL부분 인덱스를 지원합니다여기서쿼리 조건PostgreSQL정교함이 없습니다"x <1"암시"x <2"; 그렇지 않으면 술어 조건이 있어야합니다여기서조건 또는 인덱스는 사용할 수있는 것으로 인식되지 않습니다."x "x <2"모두
부분 토토 핫에 대한 세 번째 사용은예 11-3. 이것
예 11-3. 부분적 고유 한 설정
테스트 결과를 설명하는 테이블이 있다고 가정하십시오. 우리"성공"주어진 주제에 대한 입장 및"실패"항목. 여기 하나가 있습니다
테이블 테스트 생성 (
이것은 거기에있을 때 특히 효율적인 방법입니다.
마지막으로 부분 토토 핫을 사용하여PostgreSQL합리적으로 만듭니다
부분 토토 핫을 설정하면PostgreSQL작업. ~ 안에
부분 토토 핫에 대한 자세한 내용은 찾을 수 있습니다. 부분 토토 핫의 사례 , Postgres의 부분 토토 핫 : 연구및일반화 된 부분 토토 핫 (캐시 버전) .