MySQL 8 查询优化新工具 Explain Analyze

栏目: IT技术 · 发布时间: 5年前

内容简介:Explain是我们常用的查询分析工具,可以对查询语句的执行方式进行评估,给出很多有用的线索。但他仅仅是Explain Analyze是

1. Explain Analyze 介绍

Explain是我们常用的查询分析工具,可以对查询语句的执行方式进行评估,给出很多有用的线索。

但他仅仅是 评估 ,不是实际的执行情况,比如结果中的 rows ,可能和实际结果相差甚大。

Explain Analyze是 MySQL 8 中提供的新工具,牛X之处在于可以给出 实际执行情况

Explain Analyze是一个查询性能分析工具,可以详细的显示出 查询语句执行过程中,都在哪儿花费了多少时间。

Explain Analyze 会做出查询计划,并且会实际执行,以测量出查询计划中各个关键点的实际指标,例如耗时、条数,最后详细的打印出来。

2. 实践效果

例如有如下一条查询语句:

SELECT first_name, last_name, SUM(amount) AS total
FROM staff INNER JOIN payment
  ON staff.staff_id = payment.staff_id
     AND
     payment_date LIKE '2005-08%'
GROUP BY first_name, last_name;

现在对它执行 Explain Analyze ,只需要添加在 SELECT 前边就行了:

EXPLAIN ANALYZE
SELECT first_name, last_name, SUM(amount) AS total
FROM staff INNER JOIN payment
  ON staff.staff_id = payment.staff_id
     AND
     payment_date LIKE '2005-08%'
GROUP BY first_name, last_name;

执行结果:

结果中包含了各个执行步骤的详细情况,内容比较多,图片中不方便看,下面咱就拿出其中一条看一下:

Filter: (payment.payment_date like '2005-08%')  
(cost=117.43 rows=894) 
(actual time=0.454..194.045 rows=2844 loops=2)

Filter 表示这是执行过滤的一个步骤。

(payment.payment_date like '2005-08%')  

这部分是过滤条件。

(cost=117.43 rows=894)

这部分是估算的结果,预计需要花费的时间,和返回的记录条数。

这就是在真正执行之前,查询优化器所做的估算。

(actual time=0.454..194.045 rows=2844 loops=2)

这部分就是实际执行的结果数据了。

time 的结果中分为2个部分,前面的 0.454 是返回第一条记录的耗时,后面的 194.045 是返回所有记录的耗时。

rows 就是实际返回的准确记录条数。

loops 是当前过滤迭代器所执行的循环的数量。

3. 实际环境

如果你想实际试试,可以使用 MySQL 提供的测试数据库 sakila

下载地址:

https://dev.mysql.com/doc/index-other.html

![image-20200702114403512](/Users/a/Library/Application Support/typora-user-images/image-20200702114403512.png)

解压后倒入MySQL:

mysql> SOURCE /xxx/sakila-schema.sql;
mysql> SOURCE /xxx/sakila-data.sql;

4. 小结

感谢阅读,希望对你有所帮助 :pray:

参考资料:

https://mysqlserverteam.com/mysql-explain-analyze/

https://www.percona.com/blog/2019/10/28/using-explain-analyze-in-mysql-8/

推荐阅读

轻松理解 Kubernetes 的核心概念

开发者必须要了解的架构技术趋势:Service Mesh

Elasticsearch 开箱指南

阿里开源的分布式事务框架 Seata

ZooKeeper 并不适合做注册中心

MySQL 8 查询优化新工具 Explain Analyze

以上所述就是小编给大家介绍的《MySQL 8 查询优化新工具 Explain Analyze》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

.net之美

.net之美

张子阳 / 机械工业出版社 / 2014-1-1 / 79

本书是.NET 程序员进阶修炼的必读之作,由拥有多年开发经验的资深.NET 技术专家对C# 和.NET 中实用的、关键的和难以理解的知识点进行了深入解析,旨在帮助读者在尽可能短的时间内以 尽可能低的学习成本去掌握那些最应该被掌握的知识。书中的每个知识点都辅之以精心设计的案例,易 于理解,实践性强。 全书共17 章,分为两个部分:第一部分(1~5 章)主要讲解了C# 语言中的一些关键知识点,如......一起来看看 《.net之美》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具