本文主要是介绍mysql的负向条件查询会不会使用索引,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
mysql的负向条件查询,例如not in,会不会使用索引?
其实,mysql还是会尽量利用索引。如果查询的列上有索引,并且索引能够覆盖查询所需的列,那么mysql可能会使用索引来获取结果,而不是进行全表扫描。
例如,执行语句explain select * from test_table where type not in ('login', 'register');
查看执行计划,其中使用了负向条件not in:
从上面输出可以看出,这个负向查询还是使用了索引的。
执行语句explain select * from test_table where type in ('login', 'register');
查看执行计划,其中使用正向条件in:
从输出可以看出,这个正向条件查询也使用了索引。
这篇关于mysql的负向条件查询会不会使用索引的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!