쿼리 성능은 많은 것들의 영향을받을 수 있습니다. 일부postgresql성능.
postgresqla쿼리 계획각 쿼리마다 제공됩니다.메이저 토토 사이트어떤 쿼리 계획을 확인하려면 명령
현재 인용 한 숫자메이저 토토 사이트are :
추정 시작 비용 (출력 전 시간
예상 총 비용 (모든 행을 검색 해야하는 경우,Limit조항은 지불이 부족합니다
이 계획 노드에 의해 추정 된 행 출력 수
예상 평균 너비 (바이트) 출력
비용은 디스크 페이지의 단위로 측정됩니다. (CPU섹션.)
상위 수준 노드의 비용이
행 출력은 약간 까다 롭기 때문에not행 수여기서-적용중인 클래스 조건
몇 가지 예가 있습니다 (회귀 테스트 데이터베이스 사용진공 분석및 7.3
메이저 토토 사이트 *에서 10에서 선택하십시오.
이것은 얻는 것만 큼 간단합니다. 그렇다면
선택 *에서 pg_class에서 relname = 'tenk1';
당신은 그것을 알게 될 것입니다Tenk1
233 개의 디스크 페이지와 10000 행이 있습니다. 따라서 비용은 추정됩니다CPU_TUPLE_COST현재 0.01입니다 (try쇼).
이제 쿼리를 수정하여 A여기서조건 :
10 <1000에서 tenk1에서 선택 *을 선택하십시오.
출력 행의 추정치가 내려 갔다여기서절. 그러나 스캔이 될 것입니다여기서조건.
이 쿼리가 선택한 실제 행 수는 1000,분석통계가 생성 되었기 때문에 명령분석는 무작위로 가져옵니다
조건을 훨씬 더 제한하도록 쿼리 수정 :
SELECT * 선택 * TENK1 where 1 <50;
그리고 당신은 우리가 만들면여기서조건으로 충분히 선택적, 플래너
다른 조건 추가여기서절 :
tenk1에서 *를 선택하십시오.
추가 조건StringU1 =출력 행 추정치를 줄이지 만 비용은 아닙니다StringU1절은 될 수 없습니다고유 한 1열). 대신 적용됩니다
우리가 있었던 열을 사용하여 두 개의 테이블을 결합 해 보겠습니다.
메이저 토토 사이트 *에서 * TENK1 T1, TENK2 T2에서 t1.unique1 <50 및 t1.unique2 = t2.unique2;
이 중첩 루프 조인에서 외부 스캔은 동일한 색인입니다.여기서절고유 한 <해당 노드에서. 그만큼t1.unique2 =절은 아직 관련이 없으므로 그렇지 않습니다고유 2전류 값t2.unique2 =Constant. 그래서 우리는onecior2 =에서 10에서 10을 선택하십시오. 루프 노드의 비용은 기준으로 설정됩니다.
이 예에서 조인의 출력 행 카운트는 다음과 같습니다.여기서테이블 등을 모두 언급하는 조항어디서 ...
변형 계획을 보는 한 가지 방법은 플래너에게섹션 13.3.)
set enable_nestloop = off;
이 계획은 50 개의 흥미로운 행을 추출 할 것을 제안합니다.Tenk1
같은 Olde Index를 사용합니다Tenk2
,t1.unique2 = t2.unique2각각Tenk2
행. 읽는 비용Tenk1
해시 테이블을 설정하는 것은 전적으로입니다Tenk2
. 가입의 총 시간 추정치not10000 회 충전 179.33;
플래너의 정확도를 확인할 수 있습니다.메이저 토토 사이트. 이 명령은 실제로 쿼리를 실행합니다메이저 토토 사이트쇼. 예를 들어, 우리는 할 수 있습니다
메이저 토토 사이트을 메이저 토토 사이트하십시오 * 선택 * 선택 *에서 10, Tenk2 T2에서 t1.unique1 <50 및 t1.unique2 = t2.unique2;
"실제 시간"값은 실시간 밀리 초에 있지만"비용"추정치가 표시됩니다
일부 쿼리 계획에서는 하위 플랜 노드가 가능합니다."루프"값"루프"실제로 총 시간을 얻는 값
theTotal Runtime표시분석 메이저 토토 사이트집행자 포함select쿼리, the삽입, 업데이트및삭제명령, 총 실행 시간
주목할 가치가 있습니다메이저 토토 사이트결과는