본문 바로가기

IT 개발 정보/DB

EXPLAIN 사용한 쿼리 살펴보기

반응형

명령문을 실행하지 않고 SQL 데이터 웨어하우스 SQL 문에 대한 쿼리 계획을 반환합니다. EXPLAIN을 사용하여 데이터 이동이 필요한 작업을 미리 보고 쿼리 작업의 예상 비용을 표시합니다.

 

 

구문

EXPLAIN [WITH_RECOMMENDATIONS] SQL_statement

그냥 사용 하는 쿼리 앞에 EXPLAIN을 붙이면 관련 계획을 할 수 있다.

 

아래 샘플을 통해서 확인할 수 있다.

 

numbers_delays_per_day 테이블에는 528 rows가 존재한다.

 

 

5위 조건으로 SELECT를 할시에 528row를 탐색한다.
빈번하게 위 조건으로 탐색할 수 있는 항목이고, 중복될 수 있는 항목이기에 non-unique를 설정해서 인덱스를 추가 했다.

 

day를 인덱스 걸고 위와같이 select를 하고  explain으로 확인한 결과 탐색 rows가 준것을 알 수 있다.

 

explain을 이용해서 위 쿼리를 통해 인덱스를 걸고 안걸고 얼마아 비용이 차이 나는지 알 수 있었다.

간단한 샘플을 통해서 확인을 했지만 이 테이블 저 테이블 join을 걸고 쿼리를 날리다보면 해당 쿼리가 얼마나 비용이 발생하는지 확인할 수 있을 것이며 이를 통해서 테이블 튜닝 쿼리 튜닝을 할 수 있을 것이다. 

 

 

반응형