Skip to content

sys schema 初体验

xiaoboluo768 edited this page Jun 9, 2020 · 2 revisions
  • 访问sys schema时,可以先使用use语句将sys schema设置为默认数据库,然后就可以不使用database前缀,如下:
# version视图可以查看sys 系统库和mysql server的版本号
root@localhost : (none) 12:13:22> select * from sys.version;
+-------------+---------------+
| sys_version | mysql_version |
+-------------+---------------+
| 1.5.1 | 5.7.20-log |
+-------------+---------------+
1 row in set (0.01 sec)
  • 也可以使用db_name.view_name、db_name.procedure_name、db_name.func_name等方式在不指定默认数据库的情况下访问sys schema中的对象(叫做名称限定对象引用),如下:
mysql> SELECT * FROM sys.version;
+ ------------- + ----------------- +
| sys_version | mysql_version |
+ ------------- + ----------------- +
| 1.5.0 | 5.7.9-debug-log |
+ ------------- + ----------------- +
  • PS:下文中的示例中,对于sys schema的访问都是假定指定了默认数据库为sys schema
  • sys schema下包含许多视图,它们以各种方式对performance_schema表进行聚合计算展示。这些视图中大部分都是成对出现,两个视图名称相同,但有一个视图是带'x$'字符前缀的,例如:host_summary_by_file_io和x$host_summary_by_file_io,代表聚合按照主机汇总的文件I/O性能数据,两个视图访问数据源是相同的,但是创建视图的语句中,不带x$的视图是把相关数值数据经过单位换算再显示的(显示为毫秒、秒、分钟、小时、天等),带x$前缀的视图显示的是原始的数据(皮秒),如下:
# x$host_summary_by_file_io视图汇总数据,显示未格式化的皮秒单位延迟时间,没有x$前缀字符的视图输出的信息经过单位换算之后可读性更高
mysql> SELECT * FROM host_summary_by_file_io;
+------------+-------+------------+
| host      | ios  | io_latency |
+------------+-------+------------+
| localhost  | 67570 | 5.38 s    |
| background |  3468 | 4.18 s    |
+------------+-------+------------+

# 对于带x$的视图显示原始的皮秒单位数值,对于程序或工具获取使用更易于数据处理
mysql> SELECT * FROM x$host_summary_by_file_io;
+------------+-------+---------------+
| host      | ios  | io_latency    |
+------------+-------+---------------+
| localhost  | 67574 | 5380678125144 |
| background |  3474 | 4758696829416 |
+------------+-------+---------------+
  • 要查看sys schema对象定义语句,可以使用适当的SHOW语句或INFORMATION_SCHEMA库查询。例如,要查看session视图和format_bytes()函数的定义,可以使用如下语句:
mysql> SHOW CREATE VIEW session;
mysql> SHOW CREATE FUNCTION format_bytes;
mysqldump --databases --routines sys> sys_dump.sql
mysqlpump sys> sys_dump.sql
  • 如果要重新导入sys schema,可以使用如下命令:
mysql <sys_dump.sql

上一篇: sys schema使用基础环境 | 下一篇: sys schema 进度报告

Clone this wiki locally