[MariaDB] query 실행 계획 보는 방법

Jinbro·2022년 2월 21일
0

sql

목록 보기
1/3

query 실행 계획 출력 명령어

실행할 쿼리 앞에 EXPLAIN 명령어 추가

  • 각 단계별 실행 계획 결과 출력
columndescription
id테이블 JOIN 순서를 나타내는 값
select_typeSELECT query 실행 종류 (SIMPLE, DEPENDENT SUBQUERY, DEPENDENT UNION)
table해당 단계 접근 테이블명(별칭일 경우, 별칭 출력)
type테이블 내 record 조회 접근 방식 (system, const, eq_ref, ref, fulltext, range, index, ALL)
possible_keysrecord에 접근하기 위한 key 또는 index 목록
keyrecord에 접근하기 위해 참조한 index
key_lenindex 중 참조한 byte 정보
refindex 연산 시 비교/연산 사용 기준값
rowsrecord 조회 시 접근해야하는 record 예측
Extra특이사항 (Using where, Using index)

type colume detail

type columerecord 접근 방법
systemrecord 1개 이하인 경우
const, eq_refPK 또는 unique index 검색 (가장 빠른 검색 방법)
refindex를 이용한 동등 비교 연산
fulltext전문 인덱스 (일반적인 비교 연산이 어려운 경우)
rangeindex 이용 값 비교 연산 (BETWEEN)
indexindex 전체 스캔
ALL전체 테이블 스캔

sample query

EXPLAIN
SELECT *
FROM MEMBER INNER JOIN MEMBERDETIAL USING(MEM_ID)
-- case 1 : INDEX 컬럼 O
WHERE MEM_ID = '000000000001';
-- case 2 : INDEX 컬럼 X
WHERE MEM_NM = '회원명';

case 1 : INDEX 컬럼이 조건절에 포함될 경우

typerows
const1
ref1

case 2 : INDEX 컬럼이 조건절에 포함되지 않는 경우

typerows
ALL2246
eq_ref1

참고

profile
자기 개발 기록 저장소

0개의 댓글