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:

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

相关推荐
fensnote2 小时前
QTableView使用QSortFilterProxyModel后行号错乱
数据库
huapiaoy4 小时前
Redis的一些通用指令
数据库·redis·缓存
Lojarro4 小时前
后端-navicat查找语句(单表与多表)
数据库·mysql
月泪同学4 小时前
数据库面试题整理
数据库·mysql·面试
放手啊6 小时前
ansible部署二进制mysql 8
mysql·ansible
程序员学习随笔6 小时前
PostgreSQL技术内幕11:PostgreSQL事务原理解析-MVCC
数据库·postgresql
五星资源6 小时前
基于python+django+mysql+Nanodet检测模型的水稻虫害检测系统
python·mysql·django
计算机学姐7 小时前
基于SpringBoot+Vue的宠物医院管理系统
java·vue.js·spring boot·后端·mysql·intellij-idea·mybatis
莫叫石榴姐7 小时前
一份热乎的阿里25届数据分析面试题
数据库·数据仓库·sql·算法·数据挖掘·数据分析
cong*8 小时前
数据库提权【笔记总结】
数据库·笔记·adb