mysql explain 예제

쿼리가 o_clerk 열의 접미사를 검색하고 인덱스가 접미사로 작동하지 않기 때문에 새 인덱스가 가능한 키로 간주되지 않습니다(접두사로 작업하더라도). 대신 이 간단한 예제에서는 전체 서기 ID를 사용할 수 있습니다. 다음과 같이 쿼리를 조정하면 더 나은 결과가 나오게 됩니다. eq_ref는 = 연산자사용을 사용하여 비교되는 인덱싱된 열에 사용할 수 있습니다. 비교 값은 상수이거나 이 테이블 앞에 읽은 테이블의 열을 사용하는 식일 수 있습니다. 다음 예제에서 MySQL은 eq_ref 조인을 사용하여 ref_table을 처리할 수 있습니다. 최적화 단계에서 읽을 행을 읽을 수 있는 경우(예: 인덱스 행 읽기) 쿼리 실행 중에 테이블을 읽을 필요가 없습니다. EXPLAIN 출력의 추가 열에는 MySQL이 쿼리를 해결하는 방법에 대한 추가 정보가 포함되어 있습니다. 다음 목록에서는 이 열에 나타날 수 있는 값을 설명합니다. 각 항목은 추가 값을 표시하는 속성JSON 형식의 출력을 나타냅니다. 이들 중 일부에 대 한 특정 속성이 있다.

다른 텍스트는 메시지 속성의 텍스트로 표시됩니다. 이 조인 유형은 참조와 비슷하지만 MySQL이 NULL 값을 포함하는 행을 추가로 검색합니다. 이 조인 유형 최적화는 하위 쿼리를 해결하는 데 가장 자주 사용됩니다. 다음 예제에서 MySQL은 ref_or_null 조인을 사용하여 ref_table: INSERT 또는 replace 문의 경우 SELECT 부품이 없을 때 이 값을 표시합니다. 예를 들어, t 값(10)에 대한 설명 삽입은 DUAL에서 t SELECT 10에 삽입을 설명하는 것과 동일하기 때문에 나타납니다. 다음 그림과 같이 쿼리 예제가 Visual SQL 편집기에서 처음 실행되었습니다. 그런 다음 쿼리를 클릭한 다음 메뉴에서 현재 문을 설명하여 설명 보고서가 생성되었습니다. 초기 보고서에는 전체 테이블 스캔에서 포인터 장치를 주문 테이블 위로 이동할 때 표시되는 정보가 있는 Visual Explain 이미지가 표시됩니다. 재구체화(X,…)는 테이블 T의 EXPLAIN 행에 표시되며, 여기서 X는 T의 새 행을 읽을 때 재재질화가 트리거되는 측면 파생 테이블입니다.

예를 들어 MySQL은 쿼리에서 왼쪽 JOIN 최적화를 수행할 수 있었고 왼쪽 JOIN 기준과 일치하는 행을 찾은 후 이전 행 조합에 대해 이 테이블에서 더 많은 행을 검사하지 않습니다. 다음은 이러한 방식으로 최적화할 수 있는 쿼리 유형의 예입니다.