태그: #query-optimization
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 12 편
EXPLAIN ANALYZE 읽는 법 — 실행 계획에서 진짜 병목을 찾는 순서
EXPLAIN ANALYZE 출력을 처음부터 끝까지 읽는 방법을 정리합니다. 노드를 어떤 순서로 읽어야 하는지, cost가 왜 시간 단위가 아닌지, 예상 행 수와 실제 행 수의 괴리가 무엇을 알려 주는지, loops가 곱해지는 함정은 어떻게 피하는지 실제 출력과 함께 설명합니다. Nested Loop, Hash Join, Merge Join이 각각 선택되는 조건과 BUFFERS로 캐시 적중을
2026-07-26 · 21 분 읽기 #database#postgresql#explain#query-optimization#performance인덱스를 만들었는데 안 타는 이유 — 옵티마이저가 맞고 내가 틀린 경우들
인덱스를 만들었는데 실행 계획에 Seq Scan이 그대로 남는 이유를 원인별로 정리합니다. 선택도가 낮아서 옵티마이저가 일부러 무시하는 경우, 컬럼에 함수나 연산이 걸려 sargable하지 않은 경우, 타입 불일치로 암묵적 캐스팅이 일어나는 경우, LIKE 선행 와일드카드, OR 조건, 복합 인덱스 선두 컬럼 규칙, 통계 노후화, NULL 처리까지 실제 SQL과 실행 계획으로 확인합니다. 부
2026-07-26 · 21 분 읽기 #database#postgresql#index#query-optimization#mysqlClickHouse lazy materialization — LIMIT 10짜리 트릭이 FINAL과 JOIN까지 자란 과정
ClickHouse의 lazy materialization은 정렬과 LIMIT이 끝나기 전에는 SELECT 컬럼을 읽지 않는 최적화로, 25.4(2025년 4월)에 LIMIT 10 이하에서만 켜지는 보수적인 기능으로 출발했습니다. 이후 행 단위 lookup을 조인 스타일 일괄 조회로 갈아엎은 25.12에서 게이트가 10,000까지 올라갔고, 2026년에는 26.2의 UNION ALL 전 브랜
2026-07-17 · 24 분 읽기 #database#clickhouse#olap#query-optimization#performancePostgres 19의 pg_plan_advice — 힌트를 거절해 온 프로젝트가 내놓은 타협안
PostgreSQL 프로젝트는 오랫동안 옵티마이저 힌트를 거절해 왔습니다. 그런데 2026년 6월 4일 나온 PostgreSQL 19 Beta 1에 Robert Haas가 만든 pgplanadvice와 pgstashadvice가 contrib 모듈로 들어갔습니다. 이건 오라클식 힌트가 아닙니다 — 조언은 SQL 밖에 살고, 플래너를 대체하는 게 아니라 탐색 공간을 좁히기만 하며, 문서의 표현
2026-07-16 · 26 분 읽기 #postgresql#query-planner#query-optimization#database#performancePolars 1.x vs Pandas — Pandas 시대의 끝인가? Rust·Arrow·lazy 시대의 dataframe 심층 분석 2026
Polars가 1.x로 stable API 약속을 내걸고, Pandas 2.2가 PyArrow backend를 정식 지원하면서 dataframe 세계의 무게중심이 흔들렸다. Polars 1.x는 정말로 Pandas를 대체하는가? Rust + Arrow 아키텍처, lazy evaluation, query optimizer(predicate/projection pushdown, common su
2026-05-14 · 30 분 읽기 #polars#pandas#dataframe#apache-arrow#duckdbDB 인덱스 마스터 가이드 2025: B-Tree, Hash, GIN, BRIN, 복합 인덱스, 실행 계획 분석
DB 인덱스의 모든 것! B-Tree 내부 구조, Hash/GIN/GiST/BRIN 비교, 복합 인덱스 설계, 커버링/부분/표현식 인덱스, EXPLAIN ANALYZE 읽는 법, 인덱스가 안 쓰이는 이유 10가지, 실전 튜닝 사례.
2026-04-15 · 20 분 읽기 #database#indexing#btree#hash#ginPostgreSQL 내부 완전 정복 — MVCC, VACUUM, WAL, Query Planner, Index, Partitioning, pgvector까지 (2025)
PostgreSQL은 왜 "Oracle 다음으로 강력한 DB"가 되었을까? MVCC의 tuple 버저닝과 VACUUM의 숙명, WAL과 스트리밍 복제, Query Planner가 실행 계획을 만드는 법, B-Tree/GIN/BRIN/HNSW 인덱스의 선택, Partitioning과 Citus, pgBouncer, JSONB의 진실, pgvector로 보는 AI 시대의 RDBMS, Postgr
2026-04-15 · 22 분 읽기 #postgresql#database#mvcc#query-optimization#infra데이터베이스 성능 튜닝 완전 가이드: 쿼리 최적화, 인덱스 전략, 커넥션 풀 관리까지
DB 성능 튜닝의 모든 것! EXPLAIN ANALYZE 실전 해석, 인덱스 설계(B-Tree/GIN/BRIN), Slow Query 분석, 커넥션 풀(HikariCP/PgBouncer), N+1 해결, 파티셔닝, 읽기 복제본, 쿼리 캐싱 전략.
2026-03-24 · 30 분 읽기 #database#performance#tuning#indexing#query-optimizationSQL 완전 정복 2025: 개발자 면접에 나오는 SQL — JOIN부터 Window Function, 쿼리 최적화까지
SQL 면접의 모든 것! JOIN 7종, Window Function(ROWNUMBER/RANK/LAG/LEAD), 서브쿼리 vs CTE, 인덱스 원리(B-Tree/Hash/GIN), EXPLAIN ANALYZE 쿼리 분석, 트랜잭션 격리 수준, 실전 문제 30선까지.
2026-03-23 · 45 분 읽기 #sql#database#join#window-function#indexingPostgreSQL 쿼리 최적화와 성능 튜닝 실전 가이드: EXPLAIN부터 파티셔닝까지
PostgreSQL의 EXPLAIN 분석, 인덱스 전략, VACUUM 튜닝, 파티셔닝, 커넥션 풀링 등 실전 성능 최적화 기법을 체계적으로 다룹니다.
2026-03-14 · 31 분 읽기 #database#postgresql#query-optimization#performance#indexingMySQL 쿼리 최적화 실전 가이드: EXPLAIN 분석부터 인덱스 설계·슬로우 쿼리 튜닝까지
MySQL EXPLAIN/EXPLAIN ANALYZE 출력 해석, B-Tree·Hash·Full-text 인덱스 유형 비교, 복합 인덱스 설계(최좌선 접두사 규칙, 커버링 인덱스), 서브쿼리를 JOIN으로 재작성하는 패턴, 옵티마이저 힌트, 슬로우 쿼리 로그 분석, InnoDB 버퍼 풀 튜닝, MySQL 8.0 vs 8.4 옵티마이저 개선 비교, 그리고 프로덕션 최적화 체크리스트를 실전 예제
2026-03-11 · 25 분 읽기 #database#mysql#query-optimization#explain#index-tuningPostgreSQL 파티셔닝 완벽 가이드: Range, List, Hash 전략과 성능 최적화
PostgreSQL의 선언적 파티셔닝을 활용해 대용량 테이블의 성능을 극적으로 개선하는 방법을 실습합니다. Range, List, Hash 파티셔닝 전략과 파티션 프루닝, 자동 관리까지 다룹니다.
2026-03-03 · 36 분 읽기 #database#postgresql#partitioning#performance#query-optimization