背景
在排查慢sql的时候,众所周知用explain来查看是否用到了索引.
但是我没注意一个条件:is_deleted,这个条件只取两个值.
explain select id,name from user where is_deleted = 1 and is_deleted = 0
这个时候我发现结果是这样的:
我一开始还在疑惑,直到后来百度了一下,我才反应过来.因为一条数据的is_deleted不可能既是1又是0.所以查询不到数据,mysql报了这个提示.
其实这个提示是在5.6版本以前的提示.如果mysql的版本高的话,提示就比较好理解了:no matching row in const table.