Code Bye

mysql索引没起效

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的优化器会判断用索引和不用索引的开销,发现用了索引开销更大,所以就不用了。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql索引没起效