본문 바로가기
Q&A2024년 6월 27일1분 읽기

PostgreSQL slow query 찾기

김
김민수
조회 914댓글 3

PostgreSQL에서 느린 쿼리를 찾는 방법을 알려주세요.

댓글 3

김김영삼2년 전

느린 쿼리 찾기:

# 1. slow query 로깅 활성화 (postgresql.conf)
log_min_duration_statement = 1000 # 1초 이상 쿼리 로깅

# 2. pg_stat_statements 확장
CREATE EXTENSION pg_stat_statements;

# 가장 느린 쿼리 Top 10
SELECT query, calls, mean_exec_time, total_exec_time
FROM pg_stat_statements
ORDER BY mean_exec_time DESC
LIMIT 10;

EXPLAIN ANALYZE로 실행 계획을 확인하고 인덱스를 추가하세요.

김김민수(guest)2년 전
EXPLAIN ANALYZE 결과를 읽는 방법을 간단히 알려주세요.
김김영삼2년 전

핵심만:

EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@test.com';

-- 확인할 것:
-- Seq Scan → 인덱스 없음, 전체 테이블 스캔 (느림)
-- Index Scan → 인덱스 사용 (빠름)
-- actual time=0.01..0.02 → 실제 소요 시간
-- rows=1 → 반환된 행 수

Seq Scan이 보이면 해당 컬럼에 인덱스 추가를 검토하세요. explain.dalibo.com에 붙여넣으면 시각화해줍니다.

Ctrl+Enter로 등록