쿼리 처리 순서를 나타낸다.
select에 대한 타입을 나타낸다.
SIMPLE
UNION이거나 서브쿼리가 없는 단순 SELECT를 의미
PRIMARY
서브쿼리가 있을 때 가장 바깥쪽에 있는 SELECT
DERIVED
FROM절 안의 서브쿼리
DEPENDENT SUBQUERY
외부 쿼리와 상호 연관된 서브쿼리
참조하는 테이블을 나타낸다.
join 혹은 조회 타입을 나타낸다.
!!!! 아래로 갈수록 성능이 좋지 않다. !!!!
ystem
테이블에 단 한 개의 데이터만 있는 경우
const
SELECT에서 Primary Key 혹은 Unique Key를 상수로 조회하는 경우로, 많아야 한 건의 데이터만 있음
eq_ref
조인을 할 때 Primary Key 혹은 Unique Key로 매칭하는 경우
ref
조인을 할 때 Primary Key 혹은 Unique Key가 아닌 Key(index)로 매칭하는 경우
ref_or_null
reg와 같지만 NULL이 추가되어 검색되는 경우
index_merge
두 개의 인덱스가 병합되어 검색이 이루어지는 경우
unique_subquery
IN절 안의 서브쿼리에서 Primary Key가 오는 특수한 경우
index_subquery
unique_subquery와 비슷하나 Primary Key가 아닌 일반 인덱스인 경우
range
특정 범위 내에서 인덱스를 사용하여 원하는 데이터를 추출하는 경우
(데이터가 방대하지 않다면 단순 SELECT에서는 괜찮음)
index
인덱스를 처음부터 끝까지 찾아서 검색하는 경우. 인덱스 풀스캔
all
테이블을 처음부터 끝까지 검색하는 경우. 테이블 풀스캔
데이터를 조회할 때 DB에서 사용할 수 있는 인덱스 리스트이다.
실제로 사용할 인덱스명을 나타낸다.
실제로 사용할 인덱스의 길이를 나타낸다.
key 컬럼에 나와있는 인덱스에서 값을 찾기 위해 선행 테이블의 어떤 컬럼이 비교되었는지를 나타낸다.
이 값은 쿼리 수행에서 MySQL이 예측했던 레코드 건수를 보여준다. 추정 수치이며 항상 정확하지 않다.
쿼리의 실행 계획에서 성능에 관련된 내용이 extra에 표시된다.