Mysql
[MySQL] EXPLAIN 실행 계획 사용 방법
먹세
2021. 11. 11. 18:05
DB 튜닝이나 쿼리 최적화를 위해서 가장 먼저 해야 하는 것이 실행계획을 살펴보는 것이다.
EXPLAIN SELECT * FROM dummy_test WHERE id=3 AND email = 'QS3aYM5YqB@gmail.com'
사용 방법은 EXPLAIN 을 쿼리 앞에 붙여주면 된다.
결과 :
인덱스를 생성해서 확인해보자
ALTER TABLE dummy_test ADD INDEX test_idx_id_email(id, email)
인덱스 삭제 방법
ALTER TABLE dummy_Test DROP INDEX test_idx_id_email
인덱스가 잘 생성되었는지 확인
SHOW INDEX FROM dummy_test
위 처럼 잘 생성 되었다.
이제 EXPLAIN을 사용하여 인덱스를 타는지 확인 해보자
EXPLAIN SELECT * FROM dummy_test WHERE id=3 AND email = 'QS3aYM5YqB@gmail.com'
possible_keys 에는 사용 가능한 인덱스들의 목록이 표시된다.
test_idx_id 와 test_idx_id_email 인덱스가 표시된다.
key 부분은 실제로 사용된 인덱스명이 표시된다.
test_idx_id 인덱스를 탄 것.
이 부분을 강제로 test_idx_id_email 인덱스를 타게 변경해보자.
EXPLAIN SELECT * FROM dummy_test use INDEX(test_idx_id_email) WHERE email = 'QS3aYM5YqB@gmail.com' AND id=3
use INDEX(사용할 인덱스명) 으로 인덱스를 지정할 수 있다.
결과 :
key 부분에 test_idx_id_email 인덱스를 사용했다고 표시된다.
EXPLAIN으로 인덱스 및 join 등등 실행계획을 살펴보며 쿼리 및 스키마 최적화를 해보자.
좋은 글 :
https://nomadlee.com/mysql-explain-sql/
MySQL Explain 실행계획 사용법 및 분석 - Useful Guide
mysql explain, explain 보는법, explain 사용법, select_type type, sub query, where 조건, 서브쿼리, 묵시적 형변환, like 검색, 최적화, type, filtered, type, key_len
nomadlee.com
반응형