MYSQL 索引使用规则

索引失效

最左前缀法则

where之后写的顺序不重要,存在就可以

范围查询后面的索引查询失效(比如>),但是>=或者<是不会失效的

不要在索引列上进行运算操作,否则索引失效。

字符串类型字段不加引号索引会失效

尾部模糊匹配,索引不会失效,头部模糊匹配,索引会失效

or连接前有索引,后没索引,所有的索引都会失效

如果MYSQL评估使用索引比全表更慢,则不使用索引

SQL提示

use只是建议,mysql用不用他自己评定

但是force是强迫它使用

覆盖索引

尽量使用覆盖索引(查询使用了索引,并且需要返回的列,在该索引中能全部找到),减少select*

前缀索引

n为前缀的长度

第二行就是截取前五个字符的选择性

单列索引&联合索引的选择

相关推荐
敖正炀几秒前
InnoDB 引擎深度:B+Tree、页与行格式
mysql
.柒宇.3 分钟前
Redis哨兵模式搭建
数据库·redis·哨兵
敖正炀3 分钟前
事务与 MVCC:Undo Log、ReadView 与隔离级别
mysql
dinglu1030DL8 分钟前
Go语言怎么格式化时间_Go语言time.Format教程【详解】
jvm·数据库·python
老码观察11 分钟前
K8s集群断电后MySQL恢复实录:从InnoDB崩溃到数据完整迁移
mysql·adb·kubernetes
敖正炀11 分钟前
MySQL 架构全景与特性总览
mysql
环流_12 分钟前
Redis单线程但效率高且快
数据库·redis·缓存
m0_6245785912 分钟前
SQL数据分析如何剔除极端异常值_配合窗口函数检测偏离度
jvm·数据库·python
tkevinjd14 分钟前
MySQL1:分层架构
数据库·mysql·缓存
贫民窟的勇敢爷们18 分钟前
SpringBoot整合MyBatis-Plus极致实战,高效实现数据库CRUD与分页条件查询
数据库·spring boot·mybatis