Loading...
MySQL 9.5 Reference Manual 9.5의 10.15.10 Selecting Optimizer Features to Trace의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
optimizer의 일부 기능은 statement 최적화 및 실행 중에 여러 번 호출될 수 있으며, 그로 인해 trace가 과도하게 커질 수 있습니다. 이러한 기능들은 다음과 같습니다:
Greedy search: N 테이블 조인의 경우 factorial( N) 개의 실행 계획을 탐색할 수 있습니다.
Range optimizer
Dynamic range optimization: EXPLAIN 출력에서 range checked for each record 로 표시되며, 각 outer row가 range optimizer의 재실행을 유발합니다.
Subqueries: WHERE 절이 행마다 한 번씩 실행될 수 있는 서브쿼리.
이러한 기능들은
optimizer_trace_features 시스템 변수의 하나 이상의 스위치를 OFF 로 설정하여 tracing에서 제외할 수 있습니다. 사용할 수 있는 스위치는 다음과 같습니다:
greedy_search: Greedy search는 trace되지 않습니다.
range_optimizer: Range optimizer는 trace되지 않습니다.
dynamic_range: 해당 JOIN_TAB::SQL_SELECT 에 대한 range optimizer의 첫 번째 호출만 trace됩니다.
repeated_subselect: 해당 Item_subselect 의 첫 번째 실행만 trace됩니다.
10.15.9 The end_markers_in_json System Variable
10.15.11 Trace General Structure