MYSQL 索引使用规则

索引失效

最左前缀法则

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

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

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

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

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

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

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

SQL提示

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

但是force是强迫它使用

覆盖索引

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

前缀索引

n为前缀的长度

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

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

相关推荐
一只淡水鱼665 分钟前
【mybatis】基本操作:详解Spring通过注解和XML的方式来操作mybatis
java·数据库·spring·mybatis
张声录17 分钟前
【ETCD】【实操篇(十六)】基于角色的访问控制:ETCD 安全管理指南
数据库·安全·etcd
warrah13 分钟前
redis——岁月云实战
数据库·redis·缓存
秀儿y14 分钟前
Redis-十大数据类型
数据库·redis·缓存·oracle
凡人的AI工具箱34 分钟前
每天40分玩转Django:Django类视图
数据库·人工智能·后端·python·django·sqlite
知识的宝藏38 分钟前
Django models中的增删改查与MySQL SQL的对应关系
sql·mysql·django·django models
路在脚下@38 分钟前
MySQL的索引失效的原因有那些
数据库·mysql
凡人的AI工具箱44 分钟前
每天40分玩转Django:实操图片分享社区
数据库·人工智能·后端·python·django
CT随1 小时前
MongoDB
数据库·mongodb
新子-存在了1 小时前
linux中 mysql备份
linux·运维·mysql