카테고리 없음

[PostgreSQL] EXPLAIN 이란?

KingBini 2023. 6. 13. 10:24

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 같은 키워드를 이용해 실행 계획을 최적화하고 쿼리의 성능을 향상 시키는데 도움을 받을 수 있다.