MySQL执行计划分析工具EXPLAIN用法详解_PHP教程

php中文网
发布: 2016-07-12 09:00:42
原创
1010人浏览过

析稿Ai写作
析稿Ai写作

科研人的高效工具:AI论文自动生成,十分钟万字,无限大纲规划写作思路。

析稿Ai写作 97
查看详情 析稿Ai写作

mysql执行计划分析工具explain用法详解

对于dba来讲熟悉sql的执行计划分析技巧对于快速定位数据库性能问题至关重要,下面简单介绍一下如何分析mysql的执行计划。
一、explain用法详解:explain select ……
变体: 1. explain extended select ……将执行计划“反编译”成select语句,运行show warnings 可得到被mysql优化器优化后的查询语句
登录后复制
 2. explain partitions select ……用于分区表的explain
登录后复制
示例如下所示:
登录后复制
@@##@@ 
登录后复制
具体解释如下1.执行id
登录后复制
包含一组数字,id如果相同,可以认为是一组,从上往下顺序执行;在所有组中,id值越大,优先级越高,越先执行2.查询类型select_type
登录后复制
@@##@@
登录后复制
type显示的是访问类型,是较为重要的一个指标,结果值从好到坏依次是:system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > all ,一般来说,得保证查询至少达到range级别,最好能达到ref。all: 扫描全表index: 扫描全部索引树range: 扫描部分索引,索引范围扫描,对索引的扫描开始于某一点,返回匹配值域的行,常见于between、<、>等的查询ref: 非唯一性索引扫描,返回匹配某个单独值的所有行。常见于使用非唯一索引即唯一索引的非唯一前缀进行的查找eq_ref:唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配。常见于主键或唯一索引扫描const, system: 当mysql对查询某部分进行优化,并转换为一个常量时,使用这些类型访问。如将主键置于where列表中,mysql就能将该查询转换为一个常量。system是const类型的特例,当查询的表只有一行的情况下, 使用system。null: mysql在优化过程中分解语句,执行时甚至不用访问表或索引。
登录后复制
3.possible_keys指出mysql能使用哪个索引在表中找到行,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用4.key显示mysql在查询中实际使用的索引,若没有使用索引,显示为nulltips:查询中若使用了覆盖索引,则该索引仅出现在key列表中5.key_len表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度6.ref表示上述表的连接匹配条件,即哪些列或常量被用于查找索引列上的值7.rows表示mysql根据表统计信息及索引选用情况,估算的找到所需的记录所需要读取的行数8.extra包含不适合在其他列中显示但十分重要的额外信息二、关于mysql执行计划的局限总结如下:1.explain不会告诉你关于触发器、存储过程的信息或用户自定义函数对查询的影响情况2.explain不考虑各种cache3.explain不能显示mysql在执行查询时所作的优化工作4.部分统计信息是估算的,并非精确值5.expalin只能解释select操作,其他操作要重写为select后查看执行计划 
登录后复制

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1092477.htmlTechArticleMySQL执行计划分析工具EXPLAIN用法详解 对于DBA来讲熟悉SQL的执行计划分析技巧对于快速定位数据库性能问题至关重要,下面简单介绍一下如何...
相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号