Table I/O와 index usage로 사용되지 않는 인덱스 진단하기
Performance Schema의 Table I/O 통계로 인덱스 사용 흔적을 관찰하고 안전한 검증과 제거 절차를 수립하는 방법을 정리한다.
전체 문서 32개 · 1 / 2 페이지
Performance Schema의 Table I/O 통계로 인덱스 사용 흔적을 관찰하고 안전한 검증과 제거 절차를 수립하는 방법을 정리한다.
MySQL에서 중복·포함 관계 인덱스를 식별하고 관측, Invisible 전환, 롤백 준비를 거쳐 안전하게 제거하는 절차를 정리한다.
MySQL 공간 데이터 타입, SRID, R-Tree 기반 Spatial Index의 탐색 원리와 위치 검색 설계 방법을 운영 관점에서 정리한다.
MySQL Fulltext index의 내부 구조와 ngram parser의 한글 토큰화 방식, 검색 품질 한계, 운영 적용 기준을 정리한다.
InnoDB Foreign key의 인덱스 요구 조건, 참조 무결성 검사 잠금, cascade 비용과 운영 진단 절차를 쓰기 경로 중심으로 정리한다.
MySQL Unique index에서 NULL이 중복으로 허용되는 원리와 복합 키·조건부 유일성·정규화 키 설계 패턴을 운영 관점에서 정리한다.
MySQL에서 긴 문자열의 Prefix index 길이를 선택도, 저장 공간, 실행 계획, 조회 의미를 함께 고려해 설계하는 방법을 정리한다.
MySQL Covering index가 clustered lookup을 줄이는 원리와 넓은 인덱스의 쓰기·메모리 비용을 함께 평가하는 방법을 정리한다.
MySQL Composite index의 leftmost prefix, equality와 range 조건의 경계, 정렬 지원 여부를 실행 계획과 함께 설명한다.
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의 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를 줄이는 원리를 운영 관점에서 정리한다.