当天小编给大家分享一下中in使不经常使用索引的关系常识点,内容具体,逻辑明晰,置信大局部人都还太了解这方面的常识,所以分享这篇文章给大家参考一下,宿愿大家阅读完这篇文章后有所收获,上方咱们一同来了解一下吧。
mysql中in经常使用索引的状况:
1、假设in查问时在合乎最左准则的前提下,是可以反经常常使用索引的;2、假设应查问的前面有范畴查问,那么联结索引失效,就不会经常使用索引了;3、查问值的类型是int,列的类型是vachar时,会造成索引失效。
本教程操作环境:windows10系统、mysql5.7.17版本、Dell G3电脑。
mysql中in经常使用索引吗
1、在mysql 5.7.17版本,in查问可以用到索引
+-----------+ | version() | +-----------+ | 5.7.17 | +-----------+
2、查问的值类型是int,列的类型是vachar,这样会造成索引失效。
3、数据量太大(200w)且in条件多,这个应该Mysql的提升器自己选用判别的,当数据量很大的时刻,in 查问走索引兴许不是最好的。(PS:这局部要思考mysql自带的提升器的判别,关于mysql的提升器的口头原理,那是相当复杂,简而言之就是各种条件判别,选出mysql自以为的最优解。)
那么关于添加联结索引的字段,in查问会有效吗?
首先: 关于联结索引,咱们要明白一个概念,关于联结索引,口头顺序时从左到右依次婚配,相当于 order by id,name等。第一个字段必定有序,假设经常使用第二个字段的索引,必定先经常使用第一个字段,而且必定保障第二个字段有序。
其次: 最左前缀婚配准则,十分关键的准则,mysql会不时向右婚配直到遇到范畴查问(>、 “3” and d = “4” 假设树立(a,b,c,d)顺序的索引,d是用不到索引的,由于c字段启动了范畴查问,联结索引失效。假设树立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以恣意调整。
,结果和上方的概念一样,假设in查问是在合乎最左准则的前提下,是可以反经常常使用的索引的。然而假设in查问的前面有范畴查问,那么联结索引失效,人造咱们的in查问也就用不到索引了
以上就是“mysql中in使不经常使用索引”这篇文章的一切内容,感谢各位的阅读!置信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的常识,假设还想学习更多的常识,请关注云主机网(yuntue.com)行业新闻频道。
本文地址: https://yihaiquanyi.com/article/faeead980f021e9db7c4.html
上一篇:香港高防服务器怎么样香港高防主机月付2750...