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:

从输出可以看出,这个正向条件查询也使用了索引。

相关推荐
Irissgwe15 分钟前
Mysql数据库基础
数据库·c++·mysql·mysql数据库基础
qq_3349031519 分钟前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
一只努力的微服务29 分钟前
【Calcite 系列】深入理解 Calcite 的 AggregateFilterTransposeRule
大数据·数据库·calcite·优化规则
m0_5180194831 分钟前
使用Python操作文件和目录(os, pathlib, shutil)
jvm·数据库·python
轩情吖31 分钟前
MySQL Connect
数据库·mysql·adb·select·连接·远程访问数据库
lifewange34 分钟前
SQL中的聚合函数有哪些
android·数据库·sql
阿贵---38 分钟前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
稻草猫.38 分钟前
MyBatis-Plus高效开发全攻略
java·数据库·后端·spring·java-ee·mybatis·mybatis-plus
Seven9741 分钟前
InnoDB存储结构全解析:行页区段与单表2000W行的关系
mysql
人道领域1 小时前
Day | 09 【苍穹外卖:订单售后业务】
java·数据库·后端