Skip to content

sys schema 视图

xiaoboluo768 edited this page Jun 9, 2020 · 2 revisions
  • 本小节详细描述了sys schema视图,其中包含了许多汇总了performance_schema事件数据的各种各样的视图。这些视图大多数是成对出现,名称相同,其中一个带x$前缀,其中一个不带x$前缀。例如:
# host_summary_by_file_io视图可以查询到按主机分组的文件I/O事件数据,并显示更可读的时间单位IO延迟值;
mysql> SELECT * FROM host_summary_by_file_io;
+------------+-------+------------+
| host      | ios  | io_latency |
+------------+-------+------------+
| localhost  | 67570 | 5.38 s    |
| background |  3468 | 4.18 s    |
+------------+-------+------------+

# x$ host_summary_by_file_io视图也可以查询到按主机分组的文件IO事件数据,但显示的IO延迟时间单位值是未格式化的皮秒单位(万亿分之一秒,可读性比较差):

mysql> SELECT * FROM x$host_summary_by_file_io;
+------------+-------+---------------+
| host      | ios  | io_latency    |
+------------+-------+---------------+
| localhost  | 67574 | 5380678125144 |
| background |  3474 | 4758696829416 |
+------------+-------+---------------+
  • 没有x$前缀的视图旨在提供对用户更加友好和更易于阅读的输出格式。而带x$前缀的视图输出的原始格式值更适用于一些工具类的程序使用。没有x$前缀的视图中将会调用如下函数中的一个或者多个进行数值单位转换再输出:

    • 字节值使用format_bytes()函数格式化并转换单位,详见"2.1. sys schema目录"小节 'sys schema函数'部分
    • 时间值使用format_time()函数格式化并转换单位。详见"2.1. sys schema目录"小节 'sys schema函数'部分
    • 使用format_statement()函数将SQL语句文本截断为statement_truncate_len配置选项设置的显示宽度。详见"2.1. sys schema目录"小节 'sys schema函数'部分
    • 路径名称使用format_path()函数截取并替换为相应的系统变量名称。详见"2.1. sys schema目录"小节 'sys schema函数'部分
  • PS:

    • 默认配置下,wait、stage、transaction类型事件相关的instruments和consumers绝大部分都没有启用,memory类别的事件只启用了针对performance_schema自身的统计,也没有启用针对用户访问的统计,下文中视图的数据来源涉及到这些数据源的时候查询信息如果不是从summary表中查询,而是从events_[stages|waits|statements|transactions]_[current|history|history_long]表中查询,那么视图返回数据可能为空,你需要先配置启用之后才能查询相关数据,下文中会以第一个介绍到的相关视图为例讲解如何开启相关配置,后续其他类似视图所依赖的相关配置视为默认开启
    • 视图列表见"2.1. sys schema目录"小节
  • 参考链接:https://dev.mysql.com/doc/refman/5.7/en/sys-schema-views.html


上一篇: sys_config_update_set_user触发器 | 下一篇: host_summary,x$ host_summary

Clone this wiki locally