MySQL 8.4.10Captured
SQL이 실제 데이터 흐름이 되는 과정을 봅니다
MySQL 8.4.10에서 캡처한 실행 계획과 고정 fixture의 row 집합을 한 화면에서 재생합니다.
Workbench 열기
같은 SQL이 full scan과 composite index에서 어떻게 다른 access path를 만드는지 실제 row와 함께 비교합니다.
Interactive labs
여섯 가지 실행 주제를 직접 비교합니다
query flow, composite index, cardinality estimate, join algorithm, internal temporary work, secondary-index storage를 SQL·plan·실제 row와 함께 추적합니다.
- LAB 01 Lab 열기
Order Search Execution
같은 주문 조회가 full scan과 composite index에서 만드는 table, index, filter, join, sort, result 흐름을 비교합니다.
- LAB 02 Lab 열기
Composite Index Anatomy
세 가지 index order를 바꾸며 equality prefix, first range, ICP, base-row lookup, index-only projection을 실제 plan과 row로 추적합니다.
- LAB 03 Lab 열기
Cardinality & Histograms
동일한 데이터에서 histogram 없음, fresh, stale 상태가 filtered와 예상 Filter row 수를 어떻게 바꾸는지 실제 bucket, plan, 128행 결과로 비교합니다.
- LAB 04 Lab 열기
Nested Loop vs Hash Join
동일한 SQL과 fixture에서 Hash Join의 build/probe와 Indexed Nested Loop의 outer/inner lookup을 native plan, 실제 rows·loops, 정확한 matched pair로 비교합니다.
- LAB 05 Lab 열기
Internal Temporary Work
같은 GROUP BY query가 RAM, mmap overflow, InnoDB on-disk profile에서 만드는 internal temporary rows, filesort, LIMIT 경계를 exact rows와 captured memory로 추적합니다.
- LAB 06 Lab 열기
Secondary Index & Buffer Pool
하나의 non-covering range query가 secondary entry에서 primary key를 전달해 clustered row를 찾고, cold/warm Buffer Pool page와 counter가 어떻게 달라지는지 실제 capture로 추적합니다.
Workbench
Four synchronized surfaces
- SQL
현재 실행 중인 clause와 predicate
- Execution Plan
활성 operator, access type, selected key, rows와 cost
- Data Lens
table scan, index candidate, filter, join, sort와 result row
- Plan & Evidence
raw plan line과 metric이 나온 근거
Evidence methodology
Evidence stays separate from explanation
화면에 보이는 정보는 출처에 따라 세 가지로 구분합니다.
- Captured
- MySQL 8.4.10의 EXPLAIN, Performance Schema, Handler counter와 result
- Derived · fixture
- 같은 predicate를 고정 fixture에 적용해 계산한 정확한 row 집합
- Logical model
- 인덱스 정의와 candidate key로 구성한 B-tree 설명 모델