본문 바로가기
전체 105건
93
Database5분 읽기
카디널리티 추정 — 플래너가 행 수를 예측하는 법
인덱스가 있는데 왜 안 탈까. 범인은 대개 틀린 행 수 추정입니다. pg_stats 통계와 EXPLAIN의 추정 대 실제, 확장 통계로 컬럼 상관을 바로잡는 법을 다룹니다.
#PostgreSQL#카디널리티#통계
2026.08.18
92
Database6분 읽기
work_mem — 정렬과 해시가 디스크로 새는 순간
정렬·해시가 디스크로 스필하면 쿼리가 급격히 느려집니다. work_mem이 연산당이라는 함정, EXPLAIN으로 스필을 잡는 법, OOM 없이 안전하게 올리는 국소 튜닝.
#PostgreSQL#work_mem#정렬
2026.08.17
91
Database6분 읽기
LISTEN/NOTIFY — PostgreSQL만으로 실시간 알림 구현하기
별도 메시지 브로커 없이 DB만으로 실시간 알림을. LISTEN/NOTIFY의 트랜잭션 결합·페이로드 한계와, 유실을 막는 아웃박스 패턴, 커넥션 풀 함정까지 정리했습니다.
#PostgreSQL#LISTEN NOTIFY#pub/sub
2026.08.17
90
Database5분 읽기
fillfactor — UPDATE 많은 테이블을 살리는 저장 옵션
페이지를 일부러 덜 채우는 fillfactor가 왜 UPDATE 헤비 테이블의 성능을 좌우할까. HOT 업데이트가 앉을 자리를 만드는 원리와 워크로드별 권장값, 검증법까지.
#PostgreSQL#fillfactor#HOT update
2026.08.16
89
Database6분 읽기
HOT 업데이트 — 인덱스 쓰기를 건너뛰는 PostgreSQL 최적화
UPDATE 많은 테이블만 유독 인덱스가 부풀어 오른다면 HOT을 못 타는 겁니다. Heap-Only Tuple의 조건과 hot_pct 측정, 인덱스 다이어트·fillfactor로 끌어올리는 법.
#PostgreSQL#HOT update#Heap-Only Tuple
2026.08.15
88
Database6분 읽기
PostgreSQL MVCC — xmin·xmax와 스냅샷으로 보는 동시성
PostgreSQL의 UPDATE가 왜 테이블을 부풀리는지 궁금했다면. xmin·xmax 시스템 컬럼과 스냅샷으로 MVCC의 실제 동작과 블로트·wraparound라는 대가까지 파고듭니다.
#PostgreSQL#MVCC#동시성
2026.08.14
87
Database5분 읽기
BRIN 인덱스 — 대용량 시계열에 맞는 초경량 인덱스
블록 범위의 min/max만 저장하는 초경량 BRIN 인덱스. B-트리와의 차이, 물리적 정렬 상관성이라는 전제, pages_per_range 튜닝과 함정을 시계열 관점으로 정리했다.
#BRIN#인덱스#시계열
2026.08.12
86
Database6분 읽기
UPSERT 완벽 정리 — INSERT ON CONFLICT와 MERGE
있으면 UPDATE 없으면 INSERT를 원자적으로 처리하는 UPSERT. ON CONFLICT·ON DUPLICATE KEY·MERGE 방언 비교와 EXCLUDED, 시퀀스 소모 같은 함정을 정리했다.
#UPSERT#ON CONFLICT#MERGE
2026.08.09
85
Database5분 읽기
머티리얼라이즈드 뷰 — 무거운 집계를 미리 계산해두기
무거운 집계·조인 결과를 저장해 조회를 빠르게 하는 머티리얼라이즈드 뷰. 일반 뷰와의 차이, REFRESH CONCURRENTLY 갱신 전략, 언제 쓰고 피할지 실무로 정리했다.
#머티리얼라이즈드 뷰#materialized view#집계
2026.08.06
84
Database6분 읽기
부분 인덱스 — WHERE로 인덱스를 작게 만드는 기술
WHERE 조건으로 일부 행만 인덱싱하는 부분 인덱스. 소프트 삭제 유니크, 치우친 상태값 최적화 등 실전 사례와 immutable 조건 같은 함정을 정리했다.
#부분 인덱스#partial index#PostgreSQL
2026.08.03
83
Database6분 읽기
EXPLAIN ANALYZE로 실행계획 읽기 — 느린 쿼리를 눈으로 잡기
EXPLAIN ANALYZE로 데이터베이스가 쿼리를 실제 어떻게 실행했는지 읽는 법 — actual time·rows 추정치·스캔 종류를 보고 느린 쿼리를 감이 아니라 근거로 잡는다.
#EXPLAIN#실행계획#쿼리튜닝
2026.07.30
82
Database6분 읽기
PostgreSQL 전문검색 — tsvector·GIN으로 검색 만들기
LIKE의 한계를 넘어 PostgreSQL 내장 전문검색으로 빠른 검색 만들기. tsvector·tsquery·GIN 인덱스, ts_rank 랭킹, 한국어 형태소 처리까지 실무 흐름으로 설명한다.
#전문검색#full-text search#tsvector
2026.07.28