MySQL 查询统计

MySQL 查询统计

为一个已执行的查询收集的重要统计数据,包括时间、临时表、索引、连接等等,都收集在查询统计SQL编辑器结果选项卡中(见下面两个图)。

要求

  • 启用查询,并收集性能模式的统计数据。

  • Performance_schema已经启用了语句工具。

SQL编辑器:查询统计

MySQL中的查询统计

视觉解释计划

通过利用包含在增强型JSON格式中的额外数据,可视化解释功能创建并展示了MySQL EXPLAIN语句的可视化描述。所有EXPLAIN格式,包括标准格式、原始扩展JSON和可视化查询计划,都可以在MySQL Workbench中用于执行查询。

可视化演示使用

在SQL编辑器中执行你的查询,然后从查询结果菜单中选择执行过程,以获得执行计划的可视化解释。执行计划包含一个表格式的解释视图,与你在MySQL客户端运行EXPLAIN时看到的相似,此外还有可视化解释视图,这是默认的。关于MySQL如何执行语句的细节,请参见用EXPLAIN优化查询。

视觉解释公约

视觉解释图应从下到上、从左到右阅读。在后面的图例中概述了用于表示可视化解释计划的各种元素的图形、文本和信息约定。To learn more details, see −

  • 图形标准

  • 信息性和文字性惯例

第一个图的视觉解释图对以下查询进行了视觉描述。

select  * FROM employee_table

一个视觉解释的例子

MySQL中的查询统计

图形惯例

  • 标准方框:表格

  • 圆形框:操作,如GROUP和SORT

  • 有框方框:子查询

  • 菱形:连接

文本和信息约定

  • 盒子下面的标准文本:表(或别名)名称

  • 盒子下面的粗体字:所使用的键/索引

  • 盒子右上方的数字:过滤后使用的表的行数

  • 盒子左上方的数字:访问该表的相对成本(需要MySQL 5.7或更高版本)。

  • 嵌套循环(或哈希连接)钻石右边的数字:由JOIN产生的行数

  • 钻石上方的数字:JOIN的相对成本(需要MySQL 5.7或更高版本)

下表显示了可视化解释图中使用的相关颜色和描述。关于成本估算的更多信息,请参阅《优化器成本模型》。

视觉解释图信息

系统名称 颜色 视觉图上的文字 工具提示相关信息
SYSTEM 蓝色 单行:系统常数 非常低的成本
CONST 蓝色 单行:常数 非常低的成本
EQ_REF 绿色 唯一键查询 低成本 — 优化器能够找到一个索引,用来检索所需的记录。它是快速的,因为索引搜索直接导致了所有行数据的页面
REF 绿色 非唯一键查询 低-中-如果匹配的行数少,则为低;随着行数的增加,则为高
FULLTEXT 黄色 全文索引搜索 专门的FULLTEXT搜索。低 — 对于这种专门的搜索要求
REF_OR_NULL 绿色 关键词查询+获取NULL值 低-中–如果匹配的行数较少;随着行数的增加而增加
INDEX_MERGE 绿色 索引合并 中等 — 在查询中寻找一个更好的索引选择,以提高性能
UNIQUE_SUBQUERY 橙色 唯一键查询到子查询的表中 低 — 用于高效的子查询处理
INDEX_SUBQUERY 橙色 非唯一键查询到子查询的表中 低 — 用于高效的子查询处理
RANGE 橙色 索引范围扫描 中 — 部分索引扫描
INDEX 红色 全索引扫描 高 — 特别是对于大型索引
ALL 红色 全表扫描 非常高 — 对大表来说成本很高,但对小表来说影响不大。没有为该表找到可用的索引,这迫使优化器搜索每一条记录。这也可能意味着搜索范围太广,以至于索引没有用处。
UNKNOWN 黑色 未知 注意:这是默认的,以防无法确定匹配的情况。

结论

在这篇文章中,我们学习了如何在MySQL工作台中获得查询统计信息,以及它的不同特点是什么。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

MySQL 教程