본문 바로가기
SQL/MySQL

MySQL EXPLAIN 보는법 사용법 정리

by wakestand 2021. 4. 9.
반응형

 

MySQL 인덱스 조회 생성 수정 삭제 및 타는지 확인방법

MySQL에서 인덱스는 테이블을 빨리 조회하기 위해 테이블 데이터에 포인터를 주는 것인데 인덱스는 책의 목차와도 같아서 특정 컬럼에 인덱스를 지정해주면 테이블 조회 시 인덱스를 이용해 빠

wakestand.tistory.com

MySQL에서 EXPLAIN은

쿼리 튜닝 시에 주로 사용하게 되는데

 

대부분의 경우 쿼리 수행 시

인덱스(INDEX)를 타는지 확인하는 용도로 주로 사용하게 된다

근데 그걸 왜 확인해야 하냐면

 

데이터가 몇천만 건이 넘어가는 테이블의 경우

인덱스를 사용하지 않으면

조회 시 지나치게 오랜 시간이 걸리기 때문이다

 

사용법은 조회 쿼리 위에 EXPLAIN을 올려놓고 조회하면

위 스크린샷과 같은 조회결과를 볼 수 있는데

중요한 컬럼들은 다음과 같다

 

type > all 일 경우 인덱스 안탐 그 외에는 인덱스 탐

possible_keys > 쿼리 수행 시 탈법한 인덱스 리스트(쿼리 수행 시 알아서 결정함)

rows > 현재 쿼리 수행 시 출력될 것으로 예상되는 행 수

 

결론은 MySQL은 실제 업무에서 사용 시

별 생각없이 조회 때리다가 테이블에 데이터가 너무 많아

굳어버리는 현상이 상당히 많기 때문에

 

이건 오래 걸리겠다 싶으면

쿼리 수행 전 EXPLAIN을 사용해서

대략적인 소요 시간을 알아내는데 사용하게 되고

데이터가 많을 경우 인덱스를 타지 않을 경우

엄청나게 오랜 시간이 걸린다는 것을 알아둬야 한다

반응형

댓글