Index Condition Pushdown: ICP가 적용되는 조건과 효과
MySQL Index Condition Pushdown이 보조 인덱스 탐색과 테이블 row 접근 비용을 줄이는 원리와 적용 조건을 정리한다.
전체 문서 71개 · 3 / 4 페이지
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이 비인덱스 컬럼의 데이터 분포를 어떻게 모델링하고, 비균등 분포 환경에서 실행 계획 추정을 어떻게 개선하는지 운영 관점에서 정리한다.
MySQL 옵티마이저가 cardinality와 index statistics를 어떻게 사용하며 persistent statistics가 왜 실행 계획 안정성에 중요한지 운영 관점에서 정리한다.
MySQL이 SQL을 parser, resolver, optimizer, executor 단계로 처리하는 흐름과 실행 계획 해석의 핵심 포인트를 운영 관점에서 정리한다.
Aurora MySQL에서 max_connections를 메모리·동시성·장애 전파 관점으로 산정하고, 애플리케이션 pool만으로 충분한 경우와 proxy 또는 RDS Proxy가 필요한 경우를 운영 기준으로 정리한다.
MySQL connection pool 크기, 대기열, timeout, backpressure를 어떻게 설계해야 데이터베이스 과부하와 애플리케이션 장애 전파를 막을 수 있는지 운영 관점에서 정리한다.
MySQL client/server protocol에서 handshake, packet framing, text result set, prepared statement binary protocol이 어떻게 동작하는지 운영 관점에서 정리한다.
MySQL prepared statement와 드라이버 statement cache가 연결 풀과 결합될 때 어떤 메모리·세션·장애 특성이 생기는지 운영 관점에서 정리한다.
MySQL에서 sort_buffer_size, join_buffer_size, tmp_table_size를 세션 메모리 관점에서 어떻게 해석해야 하는지와 과대 설정이 만드는 메모리·디스크·장애 리스크를 운영 관점에서 정리한다.
MySQL에서 max_connections와 thread_cache_size를 어떻게 함께 설계해야 연결 폭주, 메모리 고갈, thread 생성 비용을 줄일 수 있는지 운영 관점에서 정리한다.
InnoDB의 동기·비동기 I/O 경로, read/write thread, fsync 비용을 운영 관점에서 정리한다.
InnoDB page cleaner, purge, IO thread가 dirty page 정리, undo 정리, 비동기 I/O를 어떻게 분담하는지 운영 관점에서 정리한다.
InnoDB Insert Buffer와 Change Buffer의 용어 변화, 내부 동작, 운영상 의미, MySQL 8.0 기준 점검 방법을 정리한다.
MySQL InnoDB Redo Log 크기와 checkpoint age가 쓰기 성능, crash recovery 시간, 운영 안정성에 미치는 영향을 정리한다.
InnoDB Adaptive Hash Index가 반복 조회를 가속하는 방식과 경합이 커질 때 비활성화를 검토하는 기준을 정리한다.