status列上建了索引
EXPLAIN SELECT * FROM sms_send_real_log_hisdata_20150801 WHERE STATUS = "1"
查询出索引无效是啥原因
status是状态列,里面的值都是0和1
解决方案
50
用不用索引其中有一个因素就是 条件的选择性。
例如你有100w条记录,status = 1的有 60w,status = 0的有40w
那么你的语句就不会用索引,为什么呢?
原因是mysql的优化器会判断用索引和不用索引的开销,发现用了索引开销更大,所以就不用了。
例如你有100w条记录,status = 1的有 60w,status = 0的有40w
那么你的语句就不会用索引,为什么呢?
原因是mysql的优化器会判断用索引和不用索引的开销,发现用了索引开销更大,所以就不用了。