본문으로 건너뛰기
wooncloud

← 모든 태그

#performance

10개의 글.

idx_scan=0 은 인덱스가 필요없다는 뜻이 아니다 — OR 한쪽이 인덱스를 잠근다
idx_scan=0 은 인덱스가 필요없다는 뜻이 아니다 — OR 한쪽이 인덱스를 잠근다
PostgreSQL에서 인덱스 스캔이 발생하지 않는 원인은 인덱스 불필요가 아닌 OR 조건 때문일 수 있습니다. 쿼리를 분리해 인덱스 활용도를 높이고 TOAST 비용을 고려한 최적화 전략을 통해 검색 성능을 획기적으로 개선하는 실무 노하우를 확인해 보세요
2026-08-07 · 8 min read
#postgresql#index#pg_trgm#performance
인덱스를 만들었는데 플래너가 안 쓴다 — EXISTS 가 selectivity 추정을 무너뜨릴 때
인덱스를 만들었는데 플래너가 안 쓴다 — EXISTS 가 selectivity 추정을 무너뜨릴 때
인덱스를 생성해도 쿼리 속도가 개선되지 않는 이유는 EXISTS 절의 잘못된 행 수 추정으로 인해 플래너가 인덱스의 조기 종료 기능을 활용하지 못하기 때문입니다. 통계 정보 수정이 아닌 CTE를 활용한 최적화 배리어로 쿼리 구조를 격리하면 플래너의 오판을 방지하고 인덱스 성능을 온전히 이끌어낼 수 있습니다
2026-07-31 · 10 min read
#postgresql#query-plan#index#performance
PostgreSQL 인덱스 설계 총정리 — 부분·복합·커버링·표현식부터 GIN/BRIN까지
PostgreSQL 인덱스 설계 총정리 — 부분·복합·커버링·표현식부터 GIN/BRIN까지
PostgreSQL의 성능 최적화를 위해 부분·복합·커버링·표현식 인덱스 등 다양한 설계 기법을 정리하고, 데이터 특성에 맞는 GIN·BRIN 활용법과 운영 중 안전한 인덱스 관리 및 검증 전략을 상세히 설명한다
2026-06-11 · 14 min read
#postgresql#database#index#sql#performance
Next.js App Router 캐싱 4계층 완전정복
Next.js App Router 캐싱 4계층 완전정복
Next.js App Router의 Request Memoization·Data Cache·Full Route Cache·Router Cache 4계층을 무엇을·수명·무효화 기준으로 분리해 설명하고, 동적 렌더 트리거와 함정을 정리한다.
2026-06-07 · 19 min read
#nextjs#react#performance#frontend
Docker 멀티스테이지 빌드로 이미지 90% 줄이기
Docker 멀티스테이지 빌드로 이미지 90% 줄이기
빌드 도구와 런타임을 분리하는 멀티스테이지 빌드로 도커 이미지를 줄이는 법을, 베이스 이미지(slim/alpine/distroless) 트레이드오프와 레이어 캐시 순서 최적화까지 정리한다.
2026-06-06 · 17 min read
#docker#devops#performance#infra
캐싱 전략 총정리: cache-aside부터 stampede 방어까지
캐싱 전략 총정리: cache-aside부터 stampede 방어까지
cache-aside·write-through·write-behind 등 캐싱 패턴과 무효화 전략, 그리고 캐시 스탬피드(thundering herd)를 막는 락·확률적 만료·single-flight 방어까지 정리한다.
2026-06-05 · 26 min read
#backend#redis#performance#architecture
Core Web Vitals 95점 만들기: LCP·CLS·INP
Core Web Vitals 95점 만들기: LCP·CLS·INP
Core Web Vitals의 LCP·CLS·INP 세 지표를 각각 원인과 개선법으로 공략하고, 랩/필드 데이터 측정과 이미지·폰트·JS 최적화 체크리스트까지 실전으로 정리한다.
2026-06-03 · 23 min read
#frontend#performance#seo#web
커넥션 풀링과 PgBouncer: 연결 고갈 막기
커넥션 풀링과 PgBouncer: 연결 고갈 막기
PostgreSQL이 연결마다 프로세스를 띄우는 구조와 연결 고갈 문제를 짚고, PgBouncer의 session·transaction·statement 풀 모드와 서버리스 환경의 함정, 풀 사이징을 정리한다.
2026-05-30 · 23 min read
#postgresql#database#performance#backend
N+1 쿼리 문제: 원인, 탐지, 해결
N+1 쿼리 문제: 원인, 탐지, 해결
ORM 지연 로딩에서 흔히 생기는 N+1 쿼리의 원인을 짚고, 쿼리 로깅·테스트 어서션으로 탐지하고 JOIN·배치(IN)·DataLoader로 해결하는 법과 트레이드오프를 정리한다.
2026-05-29 · 16 min read
#database#orm#performance#backend
페이지네이션 제대로: OFFSET vs 커서(keyset)
페이지네이션 제대로: OFFSET vs 커서(keyset)
OFFSET 방식은 데이터가 많아질수록 성능이 저하되고 데이터 변경 시 중복이나 누락이 발생하기 쉽습니다. 이를 해결하기 위해 마지막 데이터의 정렬 키를 기준으로 다음 페이지를 조회하는 커서(keyset) 페이지네이션을 활용하면 성능과 정확성을 모두 확보할 수 있습니다
2026-05-28 · 25 min read
#postgresql#database#performance#backend