이 명령은 Postgres의 실행 계획을 표시합니다 플래너는 제공된 쿼리를 위해 생성됩니다. 실행 계획 쿼리에서 참조 된 테이블이 어떻게 될지를 보여줍니다. 스캔 --- 평범한 순차적 스캔, 인덱스 스캔 등으로 .----- 그리고 if 여러 테이블이 참조되며 결합 알고리즘이 사용됩니다. 각 입력 테이블에서 필요한 튜플을 모으려면
디스플레이의 가장 중요한 부분은 추정 쿼리입니다. 실행 비용, 이것은 기획 시간에 대한 추측입니다. 쿼리를 실행하려면 (디스크 페이지 페치 단위로 측정 됨). 실제로 두 개의 숫자가 표시됩니다. 첫 번째 튜플을 반환 할 수 있고 모든 시간을 반환 할 수 있습니다. 튜플. 대부분의 질문에 대해 총 시간은 중요하지만 아가와 같은 컨텍스트는 서브 쿼리가 가장 작은 총 시간 대신 가장 작은 시작 시간 (이후 어쨌든 튜플 한 명을 얻은 후에 집행자는 멈출 것입니다). 또한 IF 한계 조항으로 반환 할 튜플 수를 제한합니다. 플래너는 엔드 포인트 사이에 적절한 보간을합니다 어떤 계획이 실제로 가장 저렴한 지 추정하는 비용.
장황 옵션은 전체 내부 표현을 방출합니다 요약보다는 계획 트리 (그리고 그것을 우체국 마스터 로그 파일도). 일반적 으로이 옵션은 유용합니다 Postgres 디버깅.
하나의int4열 및 128 행 :
스포츠 토토을 선택하십시오 * FOO;통지 : 쿼리 계획 : foo에서 seq 스캔 (cost = 0.00..2.28 줄 = 128 너비 = 4) 스포츠 토토하다
지원을위한 색인이있는 동일한 테이블의 경우equijoin쿼리의 조건,스포츠 토토다른 계획을 보여줄 것입니다 :
스포츠 토토을 선택하십시오 * foo where i = 4;통지 : 쿼리 계획 : foo에서 fi를 사용한 인덱스 스캔 (비용 = 0.00..0.42 행 = 1 너비 = 4) 스포츠 토토하다
그리고 마지막으로, 지원하기위한 색인이있는 동일한 테이블.equijoin쿼리의 조건,스포츠 토토a 집계 기능을 사용하는 쿼리 :
FOO에서 SOLE SOM SOM (i)을 선택하여 i = 4;통지 : 쿼리 계획 : 집계 (비용 = 0.42..0.42 행 = 1 너비 = 4) - foo에서 fi를 사용한 색인 스캔 (비용 = 0.00..0.42 행 = 1 너비 = 4)
특정 숫자와 선택한 숫자까지 쿼리 전략은 플래너로 인한 우편 릴리스마다 다를 수 있습니다. 개량.