출처 : https://dev.mysql.com/doc/refman/8.0/en/explain.html
MySQL 8.0.18에서는 EXPLAIN ANALYZE 쿼리를 실행하면 옵티마이저의 기대치가 실제 실행과 어떻게 일치 하는지에 대한 타이밍 및 추가 iterator-based 정보와 함께 쿼리를 실행하고 출력을 생성 합니다.
다음 정보가 제공됩니다.
- Estimated execution cost
- Estimated number of returned rows
- Time to return first row
- Time to return all rows (actual cost)
- Number of rows returned by the iterator
- Number of loops
조회 실행 정보는 TREE 노드가 반복자를 나타내는 출력 형식을 사용하여 표시됩니다 .
EXPLAIN ANALYZE 항상 TREE 출력 형식을 사용하고 형식 지정자를 허용하지 않습니다.
FOR CONNECTION 과 함께 사용할 수도 없습니다.
EXPLAIN ANALYZE 는 SELECT 명령문 만 사용할 수 있습니다 .
출력 예 :
mysql> EXPLAIN ANALYZE SELECT * FROM t1 JOIN t2 ON (t1.c1 = t2.c2)\G *************************** 1. row *************************** EXPLAIN: -> Inner hash join (t2.c2 = t1.c1) (cost=4.70 rows=6) (actual time=0.032..0.035 rows=6 loops=1) -> Table scan on t2 (cost=0.06 rows=6) (actual time=0.003..0.005 rows=6 loops=1) -> Hash -> Table scan on t1 (cost=0.85 rows=6) (actual time=0.018..0.022 rows=6 loops=1) mysql> EXPLAIN ANALYZE SELECT * FROM t3 WHERE i > 8\G *************************** 1. row *************************** EXPLAIN: -> Filter: (t3.i > 8) (cost=1.75 rows=5) (actual time=0.019..0.021 rows=6 loops=1) -> Table scan on t3 (cost=1.75 rows=15) (actual time=0.017..0.019 rows=15 loops=1) mysql> EXPLAIN ANALYZE SELECT * FROM t3 WHERE pk > 17\G *************************** 1. row *************************** EXPLAIN: -> Filter: (t3.pk > 17) (cost=1.26 rows=5) (actual time=0.013..0.016 rows=5 loops=1) -> Index range scan on t3 using PRIMARY (cost=1.26 rows=5) (actual time=0.012..0.014 rows=5 loops=1) |
예제 출력에 사용 된 테이블은 다음에 표시된 명령문으로 작성되었습니다.
CREATE TABLE t1 ( c1 INT(11) DEFAULT NULL, c2 INT(11) DEFAULT NULL ); CREATE TABLE t2 ( c1 INT(11) DEFAULT NULL, c2 INT(11) DEFAULT NULL ); CREATE TABLE t3 ( pk INT(11) NOT NULL PRIMARY KEY, i INT(11) DEFAULT NULL ); |
'MySQL' 카테고리의 다른 글
MySQL benchmark tool ( MySQL 성능 테스트 툴 ) DBT2 (0) | 2020.03.19 |
---|---|
optimizer trace (0) | 2019.11.26 |
MySQL Hash Join Optimization (0) | 2019.10.02 |
MySQL 시퀀스(AUTO_INCREMENT) 조회 및 초기화 (0) | 2018.09.18 |
Specified key was too long (부제: mysql 인덱스 생성 힘드네) (0) | 2017.06.09 |