MySQL 中的查询统计


在“查询统计”SQL 编辑器结果选项卡中收集了为执行的查询收集的重要统计信息,包括时间、临时表、索引、联接等(请参阅以下两张图)。

需求

  • 启用查询并收集性能模式统计信息。

  • performance_schema 已启用语句检测。

SQL 编辑器:查询统计

可视化解释计划

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

直观演示用法

在 SQL 编辑器中执行您的查询,然后从查询结果菜单中选择“执行过程”以接收执行计划的可视化解释。执行计划包含类似于在 MySQL 客户端中运行 EXPLAIN 时看到的表格解释视图,以及可视化解释视图(这是默认视图)。有关 MySQL 如何执行语句的详细信息,请参阅使用 EXPLAIN 优化查询。

可视化解释约定

应从下到上、从左到右阅读可视化解释图。以下图例中给出了用于表示可视化解释计划各个元素的图形、文本和信息约定概述。要了解详细信息,请参阅 -

  • 图形标准

  • 信息和文本约定

第一张图的可视化解释图提供了以下查询的可视化描述。

select  * FROM employee_table

可视化解释示例

图形约定

  • 标准框:表

  • 圆角框:操作(如 GROUP 和 SORT)

  • 带边框的框:子查询

  • 菱形:联接

文本和信息约定

  • 框下方的标准文本:表(或别名)名称

  • 框下方的粗体文本:使用的键/索引

  • 框右上方的数字:筛选后从表中使用的行数

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

  • 嵌套循环(或哈希联接)菱形右边的数字:联接产生的行数

  • 菱形上方的数字:联接的相对成本(需要 MySQL 5.7 或更高版本)

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

可视化解释图信息

系统名称

颜色

可视化图上的文本

工具提示相关信息

SYSTEM

蓝色

单行:系统常量

成本非常低

CONST

蓝色

单行:常量

成本非常低

EQ_REF

绿色

唯一键查找

低成本 - 优化器能够找到可用于检索所需记录的索引。它速度很快,因为索引搜索直接指向包含所有行数据的页面

REF

绿色

非唯一键查找

中低 - 如果匹配的行数较少,则为低;随着行数的增加,成本会更高

FULLTEXT

黄色

全文索引搜索

专门的全文搜索。低 - 针对此专门的搜索需求

REF_OR_NULL

绿色

键查找 + 获取 NULL 值

中低 - 如果匹配的行数较少,则为低;随着行数的增加,成本会更高

INDEX_MERGE

绿色

索引合并

中等 - 在查询中查找更好的索引选择以提高性能

UNIQUE_SUBQUERY

橙色

对子查询的表进行唯一键查找

低 - 用于高效的子查询处理

INDEX_SUBQUERY

橙色

对子查询的表进行非唯一键查找

低 - 用于高效的子查询处理

RANGE

橙色

索引范围扫描

中等 - 部分索引扫描

INDEX

红色

完整索引扫描

高 - 尤其对于大型索引

ALL

红色

完整表扫描

非常高 - 对于大型表来说成本非常高,但对小型表的影响较小。找不到表中可用的索引,这迫使优化器搜索每一行。这也可能意味着搜索范围非常广,以至于索引毫无用处。

UNKNOWN

黑色

未知

注意:这是默认值,如果无法确定匹配项,则使用此值

结论

在本文中,我们学习了如何在 MySQL Workbench 中获取查询统计信息,以及同时了解其不同特征。

更新于: 2023年2月22日

2K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.