mysql忽略索引的例子

来源:互联网 发布:避孕套 知乎 编辑:程序博客网 时间:2024/06/08 07:46

有时某字段明明设置了索引,sql也用到该字段做条件,但最终却没有使用索引。


上图,cid为索引,选择性为59


explain select * from table_name where cid=142


上图显示,可用索引cid,但实际索引null。


这是mysql查询优化器决定的,因为基数太小,只有59条。这种情况下如果使用索引,相当于多引入了一个表,不如直接在原表中搜索快,所以mysql直接屏蔽掉cid索引。如果该表不作为其他表的连表使用,可用删掉cid索引。


0 0
原创粉丝点击