MySQL Ver. 5.x 부터 실행계획을 추출할때,
>explain SELECT * FROM `XXX` WHERE xxx = '187063691';
+———+——————+———+———+———————+———+————+———+———+——————————————————————————+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+———+——————+———+———+———————+———+————+———+———+——————————————————————————+
| 1 | SIMPLE | NULL | NULL | NULL | NULL | NULL | NULL | NULL | Impossible WHERE noticed after reading const tables |
+———+——————+———+———+———————+———+————+———+———+——————————————————————————+
위와 같은 실행계획 정보를 확인할 수가 있다.
Impossible이라는 내용 때문에 조금 놀랄 수 있으나, 이건 아주 정상적인 상황을 이야기 하는 실행계획이다.
실행계획을 보려고 하는 쿼리가 const 타입으로 풀어서 실행계획을 보고자 할때, 찾을 수 있는 데이터가 없는 경우에 위와 같은 결과가 보이게 되는 것이다.
즉, 해당 쿼리로 추출 할 데이터가 없는 경우에 발생하는 것이다.
'MySQL별책부록' 카테고리의 다른 글
25. MySQL Ver. 5.7 NUMA 성능 지원 기능 추가 (1) | 2016.03.24 |
---|---|
24. DATETIME과 TIMESTAMP 사용법 (0) | 2015.10.06 |
22. InnoDB의 PK와 일반 인덱스 Key 컬럼의 중복시 저장은 어떻게 될까? (0) | 2015.07.28 |
21. DATETIME 컬럼에 대한 기본값 처리 (0) | 2015.04.01 |
20. mysqldump 조건 넣어서 추출하기 (0) | 2015.01.30 |