TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
4321
Database
실행계획이 갑자기 바뀌었을 때 — 플랜 고정과 쿼리 힌트 다루기
어제까지 빠르던 쿼리가 오늘 느려지는 이유와 대응책을 정리한다. 파라미터 스니핑, 통계 갱신에 따른 계획 변경, 힌트와 플랜 고정의 사용법, 그리고 그 전에 해야 할 구조적 해결을 다룬다.
Database
학습 기반 쿼리 최적화 — 모델이 옵티마이저를 도울 수 있는 지점
옵티마이저가 실행계획을 고르는 과정에서 무엇이 틀리는지, 학습 기반 접근이 어디를 개선하는지 정리한다. 카디널리티 추정 오류, 플랜 선택, 적용 시 운영 리스크와 검증 방법을 다룬다.
Database
카디널리티 추정 — 플래너가 행 수를 예측하는 법
인덱스가 있는데 왜 안 탈까. 범인은 대개 틀린 행 수 추정입니다. pg_stats 통계와 EXPLAIN의 추정 대 실제, 확장 통계로 컬럼 상관을 바로잡는 법을 다룹니다.
Database
EXPLAIN ANALYZE로 실행계획 읽기 — 느린 쿼리를 눈으로 잡기
EXPLAIN ANALYZE로 데이터베이스가 쿼리를 실제 어떻게 실행했는지 읽는 법 — actual time·rows 추정치·스캔 종류를 보고 느린 쿼리를 감이 아니라 근거로 잡는다.