MySQL explain
MySQL explain
explain select/update ...
官方文档:https://dev.mysql.com/doc/refman/8.0/en/explain-output.html
都是越小越好,rows * filtered
explain | 说明 |
---|---|
id | |
select_type | 查询类型 |
table | 表 |
partitions | 分区 |
type | 扫描类型 |
possible_keys | 可能索引,包含key |
key | 实际索引 |
key_len | 索引长度 |
ref | 列与索引的比较 |
rows | 扫描出的行数(估算的行数) |
filtered | 按表条件过滤的行百分比 |
Extra | 执行情况的描述和说明 |
select_type
可以不记住
- SIMPLE
- PRIMARY
- UNION、DEPENDENT UNION、UNION RESULT
- SUBQUERY、DEPENDENT SUBQUERY
- 派生表 DERIVED、DEPENDENT DERIVED
- 物化子查询 MATERIALIZED
- 无法缓存结果子查询 UNCACHEABLE SUBQUERY、UNCACHEABLE UNION
type
越上面的越好
type | 说明 |
---|---|
NULL | |
system | 表只有一行 |
const | 常量 |
eq_ref | 唯一索引 |
ref | 非唯一索引或or<=> |
fulltext | |
ref_or_null | 可空索引 |
index_merge | 索引合并优化 |
unique_subquery | 唯一索引 in (select ...) |
index_subquery | 非唯一索引 in (select ...) |
range | 索引区间 |
index | 全二级索引(同ALL) |
ALL | 全表 |
range: =, <>, >, >=, <, <=, IS NULL, <=>, BETWEEN, LIKE, IN()
Extra
using index 覆盖索引,无需回表查询
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现