이 문서는 지원되지 않는 버전의 배트맨 토토을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다와이즈 배트맨 토토 : 문서 : 17 : 와이즈 배트맨 토토버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

설명

이름

설명-a의 실행 계획을 보여줍니다 성명

시놉시스

설명 [분석] [Verbose]진술

설명

이 명령은 실행 계획을 표시합니다.배트맨 토토플래너 생성 제공된 진술. 실행 계획은 테이블의 방법을 보여줍니다. 진술서에 의해 언급 된 것은 평원으로 스캔됩니다. 스캔, 인덱스 스캔 등 - 여러 테이블을 참조하는 경우 조인 알고리즘을 사용하여 필요한 것을 함께 모으는 데 사용됩니다. 각 입력 테이블의 행.

디스플레이의 가장 중요한 부분은 추정입니다. 명세서 실행 비용, 즉 플래너의 추측 방법 문을 실행하는 데 시간이 걸립니다 (디스크 단위로 측정 됨 페이지를 가져옵니다). 실제로 두 개의 숫자가 표시됩니다 : 시작 시간 첫 번째 행을 반환하기 전에 모든 행을 반환하십시오. 대부분의 쿼리에서 총 시간은 무엇입니다 문제, 그러나 하위 쿼리와 같은 맥락에서존재, 플래너는 가장 작은 것을 선택합니다 가장 작은 총 시간 대신 시작 시간 (이후 어쨌든 실행자는 한 줄을 얻은 후에 멈출 것입니다). 또한, 당신이 a로 반환 할 행 수를 제한하십시오.Limit조항, 플래너는 적절합니다 어떤 계획을 추정하기 위해 종말점 비용 사이의 보간 정말로 가장 저렴합니다.

the분석옵션은 계획된 것이 아니라 실제로 실행되는 진술. 총계 각 계획 노드 (밀리 초) 내에서 소비 된 시간 및 실제로 반환 된 총 행 수는 표시하다. 이것은 플래너가 있는지 확인하는 데 유용합니다 추정치는 현실에 가깝습니다.

중요 :진술이 있음을 명심하십시오 실제로에 실행되었습니다.분석옵션이 사용됩니다. 하지만설명a의 출력을 폐기합니다.select반환, 다른 부작용 성명서는 평소와 같이 일어날 것입니다. 사용하고 싶다면분석 설명on삽입, 업데이트, 삭제, 생성 테이블 as또는execute진술 명령이 귀하의 데이터에 영향을 미치지 않으면서도 사용하십시오 접근하다:

시작;
분석 ...;
롤백;

매개 변수

분석

명령을 내리고 실제 실행 시간을 표시하십시오.

Verbose

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

성명서

anyselect, 삽입, 업데이트, 삭제, , execute, 선언, 또는테이블 작성진술 보고 싶은 계획.

노트

Optimizer의 사용에 대한 희소 문서 만 있습니다. 비용 정보배트맨 토토. 참조PostgreSQL : 문서 : 8.4 : 토토 사이트 사용더 많은 정보.

허용하려면배트맨 토토합리적으로 만들기위한 쿼리 플래너 쿼리를 최적화 할 때 정보에 입각 한 결정,PostgreSQL : 문서 : 8.4 : 스포츠 토토 사이트진술을 실행해야합니다 내 데이터 분포에 대한 기록 통계 테이블. 이 작업을 수행하지 않은 경우 (또는 통계적 인 경우 테이블의 데이터 분포가 크게 변경되었습니다. 마지막으로분석실행), 예상 비용은 실제를 준수하지 않을 것입니다. 쿼리의 속성 및 결과적으로 열등한 쿼리 계획 선택 될 수 있습니다.

유전자 쿼리 최적화 (geqo) 실행 계획을 무작위로 테스트합니다. 따라서 결합 관계 수가 초과 될 때geqo_threshold유전자 쿼리 최적화를 사용하여 실행 계획 진술이 실행될 때마다 변경 될 가능성이 높습니다.

각 노드의 런타임 비용을 측정하려면 실행 계획, 현재 구현분석상당한 프로파일 링을 추가 할 수 있습니다 쿼리 실행에 대한 오버 헤드. 결과적으로 실행분석 설명쿼리에서 때때로 가져갈 수 있습니다 정상적으로 쿼리를 실행하는 것보다 훨씬 길다. 그만큼 오버 헤드의 양은 쿼리의 특성에 따라 다릅니다.

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

from from from from frome *를 설명하십시오.

                       쿼리 계획
--------------------------------------------------------------------------------
 foo에서 seq 스캔 (cost = 0.00..155.00 행 = 10000 너비 = 4)
(1 행)

인덱스가 있고 색인이있는 쿼리를 사용하는 경우여기서조건,설명다른 계획을 보여줄 수 있습니다 :

설명 *에서 foo where i = 4;

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

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

FOO에서 SOLE SOM SOM (i)을 선택하십시오.

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

사용의 예는 다음과 같습니다.설명 실행하다준비된 실행 계획을 표시합니다 질문:

테스트에서 선택 합 (bar)으로 쿼리 (int, int)를 준비하십시오
    여기서 id $ 1 및 id <$ 2
    foo에 의한 그룹;

execute 쿼리 분석을 설명하십시오 (100, 200);

                                                       쿼리 계획                                                        
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
 해고 그레이트 (비용 = 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) 및 (Id <$ 2))
 총 런타임 : 0.851ms
(4 줄)

물론 여기에 표시된 특정 숫자는 테이블의 실제 내용. 또한 숫자 및 선택한 쿼리 전략조차도마다 다를 수 있습니다.배트맨 토토릴리스 플래너 개선. 또한분석명령은 임의의 샘플링을 사용하여 추정합니다 데이터 통계; 따라서 비용 추정치가 가능합니다 새로운 달리기 후에 변경분석, 테이블의 실제 데이터 분포가 변경.

호환성

없음설명명령문 정의 SQL 표준에서.

참조

분석