본문 바로가기
MySQL별책부록

23. MySQL 실행계획 Impossible WHERE noticed after reading const tables 추가

by 모모레 2015. 8. 12.

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 타입으로 풀어서 실행계획을 보고자 할때, 찾을 수 있는 데이터가 없는 경우에 위와 같은 결과가 보이게 되는 것이다. 

즉, 해당 쿼리로 추출 할 데이터가 없는 경우에 발생하는 것이다.