使用索引注意事项

使用索引注意事项
1.如果条件中有or,or条件中的每个列都加上索引,索引才生效.可考虑用UNION替换。
2.对于多列索引,不是使用的第一部分,则不会使用索引.
3.like查询是以%开头.
4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引.
5.如果mysql估计使用全表扫描要比使用索引快,则不使用索引.




哪些情况下不应该使用索引
1.数据唯一性差的字段不要使用索引.
2.频繁更新的字段不要使用索引,频繁更新会导致索引也会频繁更新,降低写的效率.
3.字段不在where语句出现时不要添加索引:只有在where语句出现,mysql才会去使用索引.
4. 数据量少的表不要使用索引,使用了改善也不大.
5.唯一性差的字段不适合创建索引,因为无法准确的找到想要的数据,所以查完索引后依然还需要过一遍数据,这样反而增加了查询量.
6. in/not in使用不到索引,因为in查询时会进行多次全表查询.
7.比较符中,><有时可以用到,有时候用不到,<>用不到.
8.索引字段使用了函数或表达式计算时,会导致用不上索引(未创建函数索引);

9.索引不会包含有NULL值的列,在数据库设计时不要让字段的默认值为NULL.不能用null作索引,任何包含null值的列都将不会被包含在索引中。


暂时就总结到这里,后面再补充

猜你喜欢

转载自blog.csdn.net/weixin_40839342/article/details/80592578