explain이란?
쿼리문에 대해서 PostgreSQL 실행계획기가 만든 실행 계획을 보여준다.
어떤 테이블이 테이블 전체 순차 검색을 하는지, 인덱스 검색을 하는지를 보여준다. 또한 여러 테이블이 조인이 될 경우 그 각 테이블들의 조인 알고리즘은 어떤 것을 사용할 것인지를 보여준다.
analyze (Explain 옵션)
ANALYZE 옵션을 사용하면, 실제 해당 쿼리를 실행하고, 추청 비용과 함께 소요 비용, 소요 시간도 실제 처리된 각 계획 노드별 전체 로우 수도 보여준다. 이 옵션은 실행계획기가 추정하는 작업이 실 작업과 비교해서 얼마나 정확한지를 확인하는데 유용하게 사용된다.
※ analyze옵션 사용시 실제로 쿼리가 실행되기 때문에 운영DB라면 io상태 및 사이드 이펙트 점검 후 실행하여야 한다.
verbose (Explain 옵션)
실행 계획의 추가 정보를 보여준다. 각 단계별 실행 계획에서 출력되는 모든 칼럼 목록을 보여주며, 테이블이나 함수에는 해당 스키마 이름을 보여주며, 조건절에서 사용한 칼럼들도 해당 테이블 이름과 함께 보여주며, 통계 정보가 출력되기 위한 각 트리거의 이름들도 함께 보여준다. 초기값은 FALSE.
ex) explain analyze verbose 쿼리문;
출처 :
'DB > Postgresql' 카테고리의 다른 글
MVCC (1) | 2024.04.11 |
---|---|
postgresql - vacuum (0) | 2024.04.11 |
Window 함수 (0) | 2024.04.09 |
DB index (0) | 2024.04.08 |
파티션 및 analyze (1) | 2024.04.08 |