EXPLAIN
한 줄 요약
- EXPLAIN == 쿼리의 성능을 분석 할 때 쓰이는 키워드
EXPLAIN ?
- EXPAIN,EXPAIN ANALYZE 키워드는 쿼리성능 분석할때 쓰이는 기본 키워드이다.
- EXPLAIN 뒤에 오는 쿼리는 실제로 실행되지 않는다.
- EXPLAIN ANALYZE <쿼리문> “ANALYZE” 키워드를 사용하면 실제로 쿼리가 실행되고 성능이 측정된다.
-- explain 명령어 테스트
EXPLAIN SELECT * FROM orders_2020_07_02;
-- 콘솔
Seq Scan on orders_2020_07_02 (cost=0.00..10.70 rows=70 width=1060)
-- 의미
cost=0.00..10.70 == 10.70만큼의 비용이 든다.
rows=70 == 70행을 반환하는데
width=1060 == 한 행의 1060너비 (바이트)의 크기의 데이터가 저장된다.
--정리
이 쿼리는 70개의 행을 반환하는 데 예상 비용이 10.70 까지 소요될 것으로 예상
한 행의 폭은 1060바이트 이며,각 컬럼의 데이터 타입과 크기에 따라 계산된다.
cost(비용)
- 쿼리 실행에 소요되는 예상 비용
- 비용 = 쿼리 실행에 필요한 리소스(시간, I/O, 메모리 등)의 추정치이다.
- 일반적으로 비용이 낮을수록 더 효율적인 실행계획임을 의미한다.
rows(행 수)
- 쿼리를 실행하면 예상되는 결과로서의 반환 될 행의 수
width(폭)
- 한 행의 예상 폭(너비)을 나타낸다.
- 폭은 한행에 저장되는 데이터의 크기를 의미한다.
- 일반적으로 컬럼의 데이터 타입과 크기에 기반하여 계산된다.
정리
PostgreSQL은 EXPLAIN 같은 키워드를 이용해 실행 계획을 최적화하고 쿼리의 성능을 향상 시키는데 도움을 받을 수 있다.