有没有做牛羊角的网站,电商网站报价,wordpress清理主题,朗润装饰1.like 以%开头#xff0c;索引无效#xff1b;当like前缀没有%#xff0c;后缀有%时#xff0c;索引有效。
2.数据库表数据量过小
如果表的数据量非常小#xff0c;则MySQL可能不会使用索引#xff0c;因为它认为全表扫描的代价更小。
3.or语句前后没有同时使用索引 …1.like 以%开头索引无效当like前缀没有%后缀有%时索引有效。
2.数据库表数据量过小
如果表的数据量非常小则MySQL可能不会使用索引因为它认为全表扫描的代价更小。
3.or语句前后没有同时使用索引
当or左右查询字段只有一个是索引该索引失效只有当or左右查询字段均为索引时才会生效
4.索引列上进行了类型转换
如果在索引列上执行类型转换MySQL将无法使用索引来加速查询。
5.索引列用了函数
例如: select * from user where SUBSTR(height,1,2)17;
6.列对比
例如: select * from user where idheight
如果把两个单独建了索引的列用来做列对比时索引会失效。
7.数据分布不均匀
如果表中某些值的出现频率非常高那么MySQL可能会认为使用全表扫描代价更小而不使用索引。
8.索引列的长度过长
如果索引列的长度过长MySQL将会使用更多的内存来存储索引可能会影响性能。
9.索引列上存在重复值
如果索引列上存在重复值MySQL将无法使用索引来加速查询。
10.在索引字段上使用not!
不等于操作符是永远不会用到索引的因此对它的处理只会产生全表扫描。