PostgreSQL에서 느린 쿼리를 찾는 방법을 알려주세요.
느린 쿼리 찾기:
# 1. slow query 로깅 활성화 (postgresql.conf)log_min_duration_statement = 1000 # 1초 이상 쿼리 로깅# 2. pg_stat_statements 확장CREATE EXTENSION pg_stat_statements;# 가장 느린 쿼리 Top 10SELECT query, calls, mean_exec_time, total_exec_timeFROM pg_stat_statementsORDER BY mean_exec_time DESCLIMIT 10;
EXPLAIN ANALYZE로 실행 계획을 확인하고 인덱스를 추가하세요.
핵심만:
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에 붙여넣으면 시각화해줍니다.
댓글 3
느린 쿼리 찾기:
EXPLAIN ANALYZE로 실행 계획을 확인하고 인덱스를 추가하세요.
핵심만:
Seq Scan이 보이면 해당 컬럼에 인덱스 추가를 검토하세요. explain.dalibo.com에 붙여넣으면 시각화해줍니다.