为执行的查询收集的重要统计信息,包括时间、临时表、索引、联接等,都收集在“查询统计 SQL 编辑器结果”选项卡中(请参阅以下两图)。
启用查询,并收集性能架构统计信息。
performance_schema 已启用语句检测。
通过利用增强型 JSON 格式中包含的附加数据,可视化解释功能可创建并呈现 MySQL EXPLAIN 语句的可视化描述。所有 EXPLAIN 格式,包括标准格式、原始扩展 JSON 和可视化查询计划,都可以在 MySQL Workbench 中用于执行查询。
在 SQL 编辑器中执行查询,然后从查询结果菜单中选择“执行过程”以接收执行计划的直观说明。除了默认的可视化解释视图之外,执行计划还包含一个表格解释视图,类似于您在 MySQL 客户端中运行 EXPLAIN 时看到的内容。有关 MySQL 如何执行语句的详细信息,请参阅使用 EXPLAIN 优化查询。
视觉解释约定
视觉解释图应该从下到上、从左到右阅读。下面的图表示例中给出了用于表示视觉解释计划的各种元素的图形、文本和信息约定的概述。要了解更多详细信息,请参阅 -
图形标准
信息和文本约定
第一张图的视觉解释图提供了以下查询的视觉描述。
select * FROM employee_table
标准盒子:桌子
圆角框:GROUP 和 SORT 等操作
框架框:子查询
钻石:连接
框下方的标准文本:表(或别名)名称
框下方的粗体文本:使用的键/索引
方框右上角的数字:过滤后表格中使用的行数
方框左上角的数字:访问该表的相对成本(需要 MySQL 5.7 或更高版本)
嵌套循环(或散列连接)菱形右侧的数字:JOIN 生成的行数
菱形上方的数字:JOIN 的相对成本(需要 MySQL 5.7 或更高版本)
下表显示了视觉解释图中使用的相关颜色和描述。有关成本估算的详细信息,请参阅优化器成本模型。
系统名称 |
颜色 |
可视化图表上的文本 |
工具提示相关信息 |
---|---|---|---|
系统 |
蓝色 |
单行:系统常量 |
成本非常低 |
常量 |
蓝色 |
单行:常量 |
成本非常低 |
EQ_REF |
绿色 |
唯一键查找 |
低成本——优化器能够找到可用于检索所需记录的索引。速度很快,因为索引搜索直接指向包含所有行数据的页面 |
参考 |
绿色 |
非唯一键查找 |
低-中 -- 如果匹配行数较少,则为低;随着行数的增加而更高 |
全文 |
黄色 |
全文索引搜索 |
专门的全文搜索。低——针对这种专门的搜索要求 |
REF_OR_NULL |
绿色 |
按键查找 + 获取 NULL 值 |
低-中——如果匹配的行数很少;随着行数的增加而更高 |
INDEX_MERGE |
绿色 |
索引合并 |
中——在查询中寻找更好的索引选择以提高性能 |
UNIQUE_SUBQUERY |
橙色 |
子查询表中的唯一键查找 |
低 -- 用于高效的子查询处理 |
INDEX_SUBQUERY |
橙色 |
子查询表中的非唯一键查找 |
低 -- 用于高效的子查询处理 |
范围 |
橙色 |
索引范围扫描 |
中 -- 部分索引扫描 |
索引 |
红色 |
完整索引扫描 |
高——特别是对于大索引 |
全部 |
红色 |
全表扫描 |
非常高 - 对于大型表来说成本非常高,但对于小型表影响较小。找不到该表的可用索引,这迫使优化器搜索每一行。这也可能意味着搜索范围太广,索引将毫无用处。 |
未知 |
黑色 |
未知 |
注意:这是默认值,以防无法确定匹配 |
在本文中,我们学习了如何在 MySQL Workbench 中获取查询统计信息以及它同时具有哪些不同特征。
以上是MySQL 中的查询统计的详细内容。更多信息请关注PHP中文网其他相关文章!