MYSQL 索引使用规则

索引失效

最左前缀法则

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

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

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

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

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

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

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

SQL提示

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

但是force是强迫它使用

覆盖索引

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

前缀索引

n为前缀的长度

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

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

相关推荐
starrocks_stella18 小时前
EMR Serverless StarRocks Object Table:用 SQL 连接 OSS 文件与多模态 AI
数据库
这个DBA有点耶18 小时前
以为自增ID只是有空洞?聊聊双主架构下无声的“数据覆盖”
数据库·mysql·dba
陈布衣19 小时前
MySQL(1)_MySQL 5.7.21 Linux 安装笔记
linux·笔记·mysql
钱栈up19 小时前
内网全断,怎么核实高炉和烧结系统的数据库对接信息
数据库
weavecodes19 小时前
双层缓存与权限实时生效:织码在线教育系统的 Caffeine + Redis 设计
数据库
bksczm20 小时前
InnoDB 页结构详解:页类型、页头页尾、数据行与页目录
数据库·mysql
bksczm20 小时前
InnoDB 行格式详解:DYNAMIC / COMPACT / COMPRESSED / REDUNDANT
java·开发语言·数据库
余槐i21 小时前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
字节跳动开源21 小时前
OpenViking连接业务系统,LLM Wiki一键编译
数据库·开源
进击的荆棘21 小时前
MySQL——数据库基础
数据库·mysql