SQL - 쿼리 실행 계획이란?
SQL - 쿼리 실행 계획이란?
쿼리 실행 계획이란?
- 실행하려는 쿼리가 어떤 방식으로 실행되는지, 인덱스를 타는지 안타는지를 확인하는 것.
- 실행하려는 쿼리 앞에
EXPLAIN키워드를 붙여 확인 가능함.
- 실행하려는 쿼리 앞에
구문
1
EXPLAIN query;
예시
1
EXPLAIN SELECT * FROM articles;
type: 데이터베이스가 테이블에 어떻게 접근할지를 나타냄.ALL: 풀 테이블 스캔을 의미함.ref:=조건 또는JOIN에서 인덱스를 사용하겠다는 것을 의미함.range: 범위 검색(BETWEEN,>,<등)에서 인덱스를 사용하겠다는 것을 의미함.
key: 쿼리를 실행할 때 사용한 인덱스를 보여줌.- 사용한 인덱스가 없을 경우
NULL이표시됨.
- 사용한 인덱스가 없을 경우
rows: 쿼리 실행 시 탐색하게 되는 행(row) 수를 의미함.- 풀 테이블 스캔이 실행되기 때문에 전체 테이블 데이터 수가 나타남.
- 실제 실행 값이 아닌 예측이기 때문에 확정은 아님.
filtered: 테이블에서 읽어온 행들 중에서WHERE조건으로 필터링되고 난 후 최종적으로 남을 것으로 예측되는 행의 비율- 확정된 값이 아닌 대략적인 예측치기 때문에 정확하지 않음.
This post is licensed under CC BY 4.0 by the author.
