이 문서는 지원되지 않는 배트맨 토토 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.와이즈 토토 : 문서 : 17 : 와이즈 토토버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

배트맨 토토

이름

EXPLAIN -- 실행 계획을 보여줍니다. 진술

시놉시스

배트맨 토토 [ 분석 ] [ 자세한 배트맨 토토 ]성명

배트맨 토토

이 명령은 실행 계획을 표시합니다.포스트그레SQL플래너가 다음을 생성합니다. 제공된 진술. 실행 계획은 테이블이 어떻게 실행되는지 보여줍니다. 명령문에서 참조하는 내용은 일반 순차 방식으로 검색됩니다. 스캔, 인덱스 스캔 등 - 여러 테이블이 참조되는 경우 필요한 것을 하나로 모으기 위해 어떤 조인 알고리즘이 사용될 것인가? 각 입력 테이블의 행입니다.

디스플레이의 가장 중요한 부분은 추정값입니다. 명령문 실행 비용. 이는 계획자가 어떻게 추측하는지에 대한 것입니다. 명령문을 실행하는 데 시간이 오래 걸립니다(디스크 단위로 측정됨). 페이지 가져오기). 실제로 두 개의 숫자가 표시됩니다: 시작 시간 첫 번째 행이 반환되기 전의 총 시간 모든 행을 반환합니다. 대부분의 쿼리에서 총 시간은 중요하지만 하위 쿼리와 같은 컨텍스트에서는존재함, 플래너는 가장 작은 것을 선택합니다. 최소 총 시간 대신 시작 시간(이후 어쨌든 실행자는 한 행을 얻은 후에 중지됩니다. 또한 만약 당신이 a로 반환할 행 수를 제한합니다.제한절, 기획자는 적절한 조치를 취합니다. 어떤 계획을 추정하기 위해 엔드포인트 비용 간 보간 정말 저렴해요.

분석옵션으로 인해 계획된 문장이 아닌 실제로 실행되는 문장. 합계 각 계획 노드 내에서 소비된 경과 시간(밀리초) 및 실제로 반환된 총 행 수가 디스플레이. 이는 기획자의 계획 여부를 확인하는 데 유용합니다. 추정치가 현실에 가깝습니다.

중요:다음 진술을 명심하십시오 실제로 실행되는 경우는 다음과 같습니다.분석옵션이 사용됩니다. 그래도배트맨 토토다음의 모든 출력을 삭제합니다.선택반환하면 다음의 다른 부작용이 발생합니다. 성명은 평소대로 진행됩니다. 이용을 원하시는 경우분석 배트맨 토토삽입, 업데이트, 삭제, 만들기 표는 다음과 같습니다또는실행성명 명령이 데이터에 영향을 주지 않고 이것을 사용하십시오. 접근 방식:

시작;
배트맨 토토 분석 ...;
롤백;

매개변수

분석

명령을 실행하고 실제 실행 시간을 보여주세요.

상세

계획의 각 노드에 대한 출력 열 목록을 포함합니다. 나무.

성명

모두선택, 삽입, 업데이트, 삭제, , 실행, 선언또는다음으로 테이블 생성문, 그 실행 보고 싶은 계획을 세우세요.

참고

최적화기의 사용에 대한 문서는 희박합니다. 비용 정보배트맨 토토. 참조PostgreSQL : 문서 : 8.4 : 토토 사이트 사용더 보기 정보.

허용하기 위해포스트그레SQL합리적으로 만들 수 있는 쿼리 플래너 쿼리를 최적화할 때 정보에 입각한 결정을 내리세요.PostgreSQL : 문서 : 8.4 : 스포츠 토토 사이트문은 다음에 대해 실행되어야 합니다. 데이터의 분포에 대한 통계를 기록합니다. 테이블. 이 작업을 수행하지 않은 경우(또는 통계적으로 테이블의 데이터 분포가 크게 변경되었습니다. 지난번부터분석실행됨), 예상 비용이 실제 비용과 일치할 가능성이 낮습니다. 쿼리 속성 및 결과적으로 열악한 쿼리 계획 선택될 수 있습니다.

유전자 쿼리 최적화 (GEQO)는 실행 계획을 무작위로 테스트합니다. 따라서 Join 관계의 개수를 초과하는 경우geqo_threshold유전자 쿼리 최적화가 사용되도록 하여 실행 계획 명령문이 실행될 때마다 변경될 가능성이 높습니다.

각 노드의 런타임 비용을 측정하기 위해 실행 계획, 현재 구현분석 배트맨 토토상당한 프로파일링을 추가할 수 있습니다. 쿼리 실행에 대한 오버헤드. 그 결과 실행 중분석 배트맨 토토질의에 따라 때때로 시간이 걸릴 수 있습니다. 쿼리를 정상적으로 실행하는 것보다 훨씬 더 오래 걸립니다. 는 오버헤드의 양은 쿼리의 성격에 따라 다릅니다.

단일 테이블에 간단한 쿼리에 대한 계획을 표시하려면정수열 및 10000행:

배트맨 토토 SELECT * FROM foo;

                       쿼리 계획
-------------------------------
 foo의 시퀀스 스캔(비용=0.00..155.00행=10000너비=4)
(1행)

색인이 있고 색인 생성이 가능한 쿼리를 사용하는 경우어디조건,배트맨 토토다른 계획이 표시될 수 있습니다.

배트맨 토토 SELECT * FROM foo WHERE i = 4;

                         쿼리 계획
------------------------------------
 foo에서 fi를 사용한 인덱스 스캔(비용=0.00..5.98행=1너비=4)
   지수 조건: (i = 4)
(2행)

다음은 다음을 사용하는 쿼리에 대한 쿼리 계획의 예입니다. 집계 함수:

EXPLAIN SELECT sum(i) FROM foo WHERE i < 10;

                             쿼리 계획
--------------------------------------------------------
 집계(비용=23.93..23.93행=1너비=4)
   - foo에서 fi를 사용하여 인덱스 스캔(비용=0.00..23.92행=6너비=4)
         지수 조건: (i < 10)
(3행)

다음은 사용 예입니다배트맨 토토하세요 실행준비된 실행 계획을 표시합니다. 쿼리:

PREPARE 쿼리(int, int) AS SELECT sum(bar) FROM 테스트
    ID  $1 AND ID < $2인 경우
    그룹별로 foo;

EXPLAIN ANALYZE EXECUTE 쿼리(100, 200);

                                                       쿼리 계획                                                        
-----------------------------------------------------------------------------------------------
 HashAggregate (비용=39.53..39.53 행=1 너비=8) (실제 시간=0.661..0.672 행=7 루프=1)
   - 테스트 시 test_pkey를 사용한 인덱스 스캔(비용=0.00..32.97행=1311너비=8)(실제 시간=0.050..0.395행=99루프=1)
         지수 조건: ((id  $1) AND (id < $2))
 총 런타임: 0.851ms
(4행)

물론 여기에 표시된 구체적인 숫자는 다음에 따라 다릅니다. 관련된 테이블의 실제 내용. 또한 숫자와 선택한 쿼리 전략도 다를 수 있습니다.포스트그레SQL다음으로 인해 릴리스됨 플래너 개선. 게다가,분석명령은 무작위 샘플링을 사용하여 추정합니다. 데이터 통계; 따라서 비용 추정이 가능합니다. 새로 실행한 후 변경분석, 테이블의 실제 데이터 분포가 그렇지 않은 경우에도 변경되었습니다.

호환성

없습니다배트맨 토토문이 정의됨 SQL 표준에서.

또한 참조

분석