MySQL Workbench 中的性能报告控件
下面列出的控件可用于检查和导出性能报告数据(参见下图):
导出 - 导出当前性能报告中的所有条目,包括所有查询和值,以及任何关联数据(包括列标题)。将打开一个导出文件对话框。
复制所选 - 复制当前性能报告中的单个条目以及任何相关数据(和列标题)。系统剪贴板将被保存。举个例子
查询复制 - 此功能复制生成性能报告的 SQL 语句。系统剪贴板将被保存。
刷新 - 性能报告将被刷新(重新加载)。
性能报告说明
性能报告:语句分析
对于各个报告,显示以下分组:
内存使用情况
总内存 - 显示分配的总内存。
按事件划分的最高内存使用 - 显示消耗内存最多的事件。
按用户划分的最高内存使用 - 显示消耗内存最多的用户。
按主机划分的最高内存使用 - 显示消耗内存最多的主机。
按线程划分的最高内存使用 - 显示消耗内存最多的线程。
I/O 热点
最高文件 I/O 活动报告 - 显示 I/O 使用量(以字节为单位)最高的文件。
按文件和时间划分的最高 I/O - 显示按文件和延迟划分的最高 I/O 使用量。
按事件类别划分的最高 I/O - 显示按事件类别划分的最高 I/O 数据使用量。
按事件类别划分的最高 I/O 时间 - 显示按事件类别划分的最高 I/O 时间消耗者。
按用户/线程划分的最高 I/O - 显示按用户和线程划分的最高 I/O 时间消耗者。
高成本 SQL 语句
语句分析 - 列出具有各种聚合统计信息的语句。
运行时最高的 5% 的语句 - 列出平均运行时间(以微秒为单位)排名前 5% 的所有语句。
使用临时表 - 列出使用临时表的所有语句(首先访问磁盘临时表的百分比最高,然后是内存临时表)。
带有排序 - 列出所有已进行排序的标准化语句(按以下优先级顺序访问:sort_merge_passes、sort_scans 和 sort_rows)。
全表扫描 - 列出已执行全表扫描的语句。访问查询性能和 WHERE 子句(或子句)。如果未使用索引,请考虑为大型表添加索引。
错误或警告 - 列出引发错误或警告的语句。
数据库模式统计信息
模式对象概述(高开销) - 按每个模式的对象计数显示。请注意,对于具有大量对象的对象,此报告可能需要更长的时间才能执行。
模式索引统计信息 - 显示与索引相关的常规统计信息。
模式表统计信息 - 显示与表相关的常规统计信息。
模式表统计信息(含 InnoDB 缓冲区) - 显示具有 InnoDB 缓冲区统计信息的模式表。
具有全表扫描的表 - 查找正在通过全表扫描访问的表,按扫描的行数(降序)排序。
未使用的索引 - 显示自服务器启动或自 P_S 数据收集启动以来从未使用过的索引列表。
等待事件时间(专家)
按时间划分的全局等待 - 按其总时间列出排名前列的全局等待事件,忽略空闲时间(这可能不会很大)。
按用户和时间划分的等待 - 按用户及其总时间列出排名前列的等待事件,忽略空闲时间(这可能不会很大)。
按时间划分的等待类别 - 按总时间列出排名前列的等待类别,忽略空闲时间(这可能不会很大)。
按平均时间划分的等待类别 - 按平均时间列出排名前列的等待类别,忽略空闲时间(这可能不会很大)。
InnoDB 统计信息
按模式划分的 InnoDB 缓冲区统计信息 - 总结 INFORMATION_SCHEMA.INNODB_BUFFER_PAGE 表的输出,按模式进行聚合。
按表划分的 InnoDB 缓冲区统计信息 - 总结 INFORMATION_SCHEMA.INNODB_BUFFER_PAGE 表的输出,按模式和表名进行聚合。
用户资源使用情况
概述 - 显示每个用户的资源使用情况摘要。
I/O 统计信息 - 显示每个用户的 I/O 使用情况。
语句统计信息 - 显示每个用户的语句执行统计信息。
结论
在本文中,我们学习了不同的性能报告控件以及如何使用 MySQL Workbench 获取它们。