160 字
1 分钟
MySQL联合索引失效情况
如果在Where子句中使用了OR操作符,并且OR前的条件列是索引列,OR后的不是索引列,那么索引可能会失效。
83%
全部章节
- 1 MySQL共享锁和排他锁的区别
- 2 数据库ACID四大特性
- 3 MVCC-多版本并发控制
- 4 MySQL全局锁,表级锁,行级锁
- 5 MySQLbinlog,redolog和undolog
- 6 MySQL索引类型有哪些
- 7 MySQL-VARCHAR支持的最大长度
- 8 MySQL事务隔离级别
- 9 MySQL中的数据排序是怎么实现的
- 10 MySQL中几种count的区别
- 11 MySQL中CHAR和VARCHAR的区别
- 12 MySQL事务的两阶段提交是什么
- 13 MySQL中发生死锁如何解决
- 14 搭建MySQL主从服务器
- 15 如何处理MySQL的主从同步延迟
- 16 什么是MySQL的主从同步机制
- 17 MySQL中如何解决深度分页问题
- 18 分库分表场景
- 19 MySQL联合索引失效情况 阅读中
- 20 MySQL-binlog
- 21 MySQL-redolog
- 22 MySQL-relaylog(中继日志)
- 23 MySQL-undolog(回滚日志)
MySQL联合索引失效情况
1. 不满足最左匹配原则
2. 在索引上使用函数或者运算
3. 索引列参与隐式类型转换
4. 使用NOT IN,!=,<>等否定操作符
5. 模糊匹配 like %xxx%
6.OR操作符
如果在Where子句中使用了OR操作符,并且OR前的条件列是索引列,OR后的不是索引列,那么索引可能会失效。
7. 使用 not exists关键字,索引也会失效(本质上是Where查询范围太大)
8. 使用Order By 注意最左匹配,要加limit或者Where关键字,否则索引会失效
发现错误或想要改进这篇文章?
在 GitHub 上编辑此页 MySQL联合索引失效情况
相关文章
按系列 / 标签 / 分类推荐