좋은 Primary Key 설계: 단조 증가, 폭, 변경 불가성, 분산 쓰기
InnoDB Primary Key의 단조 증가성, 폭, 변경 불가성, 분산 ID 생성이 쓰기와 보조 인덱스에 미치는 영향을 설명한다.
하위 카테고리 2개 · 전체 문서 173개
문서가 21개 이상인 카테고리는 수동 정렬 대신 최신순으로 20개씩 나누어 표시합니다.
InnoDB Primary Key의 단조 증가성, 폭, 변경 불가성, 분산 ID 생성이 쓰기와 보조 인덱스에 미치는 영향을 설명한다.
InnoDB B+Tree의 root·branch·leaf page 구조와 탐색 비용, 클러스터형·보조 인덱스의 차이를 운영 관점에서 설명한다.
MySQL Invisible index로 인덱스 제거의 실행 계획과 운영 영향을 사전에 검증하고 안전하게 복구하는 절차를 정리한다.
MySQL에서 DATE(), LOWER(), CAST() 조건이 B-Tree 인덱스 탐색을 방해하는 원리와 안전한 쿼리 변환 및 대안을 정리한다.
MySQL의 OR 조건 처리, Index Merge, UNION rewrite의 의미 보존 조건과 실행 계획 검증 방법을 운영 관점에서 정리한다.
MySQL이 subquery를 semi-join 또는 materialization으로 변환하는 원리와 dependent subquery의 반복 실행을 진단하는 방법을 정리한다.
MySQL이 derived table과 CTE를 merge하거나 materialize하는 조건, 실행 비용, 진단 방법을 운영 관점에서 정리한다.
MySQL의 nested loop, block nested loop, hash join이 선택되는 조건과 실행 경로를 운영 관점에서 정리한다.
MySQL에서 large offset pagination이 느려지는 내부 원인과 seek 방식의 인덱스 설계·일관성·운영 기준을 정리한다.
MySQL GROUP BY의 Loose Index Scan 조건과 temporary table, filesort 발생 원인을 실행 계획과 운영 관점에서 정리한다.
MySQL에서 ORDER BY가 인덱스 순서를 그대로 읽는 경우와 filesort를 수행하는 경우의 차이를 실행 계획과 운영 관점에서 정리한다.
MySQL WHERE 조건에서 인덱스 탐색이 가능한 sargable predicate와 그렇지 않은 조건의 차이를 실행계획과 운영 관점에서 정리한다.
MySQL Multi-Range Read와 Batched Key Access가 보조 인덱스 조회와 조인에서 랜덤 I/O를 줄이는 원리를 운영 관점에서 정리한다.
MySQL Index Condition Pushdown이 보조 인덱스 탐색과 테이블 row 접근 비용을 줄이는 원리와 적용 조건을 정리한다.
MySQL optimizer_trace로 실행 계획 후보, 비용 비교, 선택 이유를 확인하고 운영 진단에 적용하는 방법을 정리한다.
MySQL EXPLAIN ANALYZE에서 optimizer 추정 rows와 실제 rows 차이를 읽고 인덱스·통계·쿼리 개선으로 연결하는 방법을 정리한다.
MySQL EXPLAIN FORMAT=JSON의 nested_loop, cost_info, attached_condition을 실행 계획 해석과 운영 진단 관점에서 정리한다.
MySQL EXPLAIN의 핵심 컬럼을 실행 경로, 인덱스 선택, row 추정, Extra 메시지 중심으로 운영 관점에서 해석한다.
MySQL Cost Model이 row 추정, 인덱스 비용 비교, 조인 순서 선택에 어떤 영향을 주는지 운영 관점에서 정리한다.
MySQL Histogram이 비인덱스 컬럼의 데이터 분포를 어떻게 모델링하고, 비균등 분포 환경에서 실행 계획 추정을 어떻게 개선하는지 운영 관점에서 정리한다.