李锋镝的博客

  • 首页
  • 时间轴
  • 说说
  • 每日心情
  • Now
  • 系列文章
  • AI工具集
  • 论坛
  • 左邻右舍
    • 左邻右舍
    • 博友圈
    • 游客中心
  • 留言
    • 留言
    • 走心评论
  • 关于
    • 关于本站
    • 网站地图
    • 网站统计
    • 另一个网站
    • 赞助
  • 🚇开往
!Destiny
惟坚韧者始能遂其志
  1. 首页
  2. 中间件
  3. 正文

MySQL数据库查看执行计划以及名词解释

2019年9月12日 约 810 字3 分钟 177 0 0
本文最后更新于 2025年11月20日,距今已 310 天,其中的信息可能已经发生变化,请注意甄别。

MySQL 使用 explain + sql 语句查看 执行计划,该执行计划不一定完全正确但是可以参考。

EXPLAIN SELECT * FROM t_store WHERE sn = 1;
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t_store NULL ref sn sn 767 const 1 100.00 NULL

字段释义

select_type

select_type 说明
SIMPLE 简单查询
PRIMARY 最外层查询
SUBQUERY 映射为子查询
DERIVED 子查询
UNION 联合
UNION RESULT 使用联合的结果

table

正在访问的表名

type

type 说明
ALL 全数据表扫描
INDEX 全索引表扫描
RANGE 对索引列进行范围查找
INDEX_MERGE 合并索引,使用多个单列索引搜索
REF 根据索引查找一个或多个值
EQ_REF 搜索时使用primary key 或 unique类型
CONST 常量,表最多有一个匹配行,因为仅有一行,在这行的列值可被优化器剩余部分认为是常数,const表很快,因为它们只读取一次。
SYSTEM 系统,表仅有一行(=系统表)。这是const联接类型的一个特例。

性能:

all < index < range < index_merge < ref_or_null < ref < eq_ref < system/const

性能在 range 之下基本都可以进行调优

possible_keys

可能使用的索引

key

真实使用的索引

key_len

MySQL中使用索引字节长度

rows

MySQL预估为了找到所需的行而要读取的行数

extra

extra 说明
Using index 此值表示mysql将使用覆盖索引,以避免访问表。
Using where mysql 将在存储引擎检索行后再进行过滤,许多where条件里涉及索引中的列,当(并且如果)它读取索引时,就能被存储引擎检验,因此不是所有带where子句的查询都会显示“Using where”。有时“Using where”的出现就是一个暗示:查询可受益于不同的索引。
Using temporary mysql 对查询结果排序时会使用临时表。
Using filesort mysql会对结果使用一个外部索引排序,而不是按索引次序从表里读取行。mysql有两种文件排序算法,这两种排序方式都可以在内存或者磁盘上完成,explain不会告诉你mysql将使用哪一种文件排序,也不会告诉你排序会在内存里还是磁盘上完成。
Range checked for each record(index map: N) 没有好用的索引,新的索引将在联接的每一行上重新估算,N是显示在possible_keys列中索引的位图,并且是冗余的

limit

limit 匹配后就不会继续进行扫描

索引使用

  1. 使用 like 语句时,%在右边才会使用索引
  2. or 条件中有未建立索引的列,索引失效
  3. 查询条件的字段的参数的数据类型与数据库字段的数据类型不一致
  4. !=不使用索引(如果是主键,则会走索引)
  5. >不使用索引(如果是主键或索引是整数类型,则会走索引)
  6. order by(如果 order by 是主键或索引是整数类型,则会走索引)
  7. 组合索引-遵循最左前缀
除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.lifengdi.com/zhong-jian-jian/908

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
分享到

MySQL数据库查看执行计划以及名词解释

也可使用浏览器菜单中的「分享」功能

微信扫一扫分享

标签: MySQL SQL 执行计划
最后更新:2025年11月20日

岁月同一天 9 月 26 日

回望过去的今天,你在写什么

  • 7 年前 2019年9月26日
    什么是RESTful?RESTful详解

    什么是RESTful 出处 2000 年 Roy Fielding 的博士论文中(论文地址见下方,感兴趣的可以看看),R…

  • 7 年前 2019年9月26日
    妹妹的画【2019.09.26】

    值此国庆佳节来临之际,特此奉上妹妹的大作四张~~~

  • 原创
    7 年前 2019年9月26日
    Java数据类型判断工具类DataTypeUtil

    背景 之前要写一个项目,根据配置以及前端入参来调用具体的接口执行对应的任务,需要校验前端的入参是否是指定的数据类型,防止…

相关文章
  • MySQL主键索引和普通索引的区别2019年12月22日
  • 分布式服务生成唯一不重复ID(24位字符串)2019年7月13日
  • 在 SQL 中做范围查询时,使用 BETWEEN AND 和直接用 >/</>=/<= 这类比较运算符,哪一个的性能更优。2026年1月15日
  • 高性能场景为什么推荐使用PostgreSQL,而非MySQL?2025年10月11日
  • 为什么MySQL要“小表驱动大表”2025年11月4日

李锋镝

既然选择了远方,便只顾风雨兼程。

打赏 点赞
< 上一篇
下一篇 >
1234567891112131415161718192021222324252627282930313233343536373839404142434446474849505152535455575859606162636465666769727476777879808182858687909293949596979899
取消回复
…

文章评论

还没有评论,快来抢沙发吧~

山有木兮木有枝,心悦君兮君不知。

听点儿音乐吧 朋友~
文章目录
最新 热点 随机
最新 热点 随机
祝大家中秋安康 游本昌去世 Redis7+&8.X 全新进阶系列(02):Redis Functions 详解——替代Lua脚本的官方轻量化函数方案 Redis7.x&8.x 全新进阶系列(01):划时代升级总览——从6.x到7.x/8.x全版本变革全景 让WordPress静态化之Rocket‑Nginx WordPress下一代默认主题Ipsum预览
关于主题加载速度优化的一点儿小演进给主题增加了Now、每日心情、年度回顾、岁月同一天、随机漫步等功能WordPress缓存插件WP Fastest Cache、WP Rocket 、FlyingPress对比关于使用AI的一些思考WordPress下一代默认主题Ipsum预览Kratos+ v1.1.16版本更新说明
WordPress评论添加UserAgent以及地理位置信息 Java触发GC的方式 GPT-5.1深度测评:从智能升级到情感共鸣,AI交互的下一个里程碑 Kratos+ v1.1.18版本更新说明 Everything Claude Code 详细使用文档 OSI模型及代表协议详解
最近评论
obaby 发布于 21 小时前(09月25日) 中秋快乐
Huo 发布于 1 天前(09月25日) 中秋快乐哦
彬红茶 发布于 1 天前(09月25日) 前几天在班里电脑刷到了,节哀
彬红茶 发布于 1 天前(09月25日) 中秋安康!
不凡 发布于 1 天前(09月25日) 小学的时候是配了个助听器,它是带耳机线的,但是听不太清楚,就好比原本32bit的声音,戴了后变成了8...
标签聚合
JAVA ElasticSearch MQ 日常 AI JVM Redis SpringBoot WordPress Spring SQL IDEA 架构 K8s AI编程 数据库 MySQL Claude 多线程 分布式
友情链接
  • 老张博客
  • 若梦博客
  • 知向前端
  • 皮皮社
  • 搬砖日记
  • 蜗牛工作室
  • sssr7844的博客
  • 临窗旋墨
  • Mr.Sun的博客
  • 林羽凡
  • 瓦匠个人小站
  • Honesty
  • 哥斯拉
  • 懋和道人
  • 志文工作室
  • 彬红茶日记
  • Serendipity
  • 韩小韩博客
  • lijie blog
  • 九仞之行

COPYRIGHT © 2016-2026 lifengdi.com. ALL RIGHTS RESERVED.

lifengdi.com

Domain age badge for lifengdi.com

Theme Kratos-plus By Dylan Li

津ICP备2024022503号-3

京公网安备11011502039375号