MySQL 5.7 引入 sys库 用于帮助 DBA 分析一些问题。 sys 库里面就是一些存储过程,视图,函数等。
视图或是表: 用于结果的汇总展示及配置持久化
存储过程: 用于对 Performance schema 的控制及收集。
函数: 对于 Performance schema 的配置及数据格式化。
Sys库所有的数据源来自:performance_schema 。目标是把 Performance_schema 的把复杂度降低,让 DBA 能更好的阅读这个库里的内容。让 DBA 更快的了解 DB 的运行情况。
select * from sys.version;
+-------------+---------------+
| sys_version | mysql_version |
+-------------+---------------+
| 1.5.1 | 5.7.14-log |
+-------------+---------------+
root@localhost [sys]>select host,statements, statement_latency,statement_avg_latency from host_summary;
+-----------+------------+-------------------+-----------------------+
| host | statements | statement_latency | statement_avg_latency |
+-----------+------------+-------------------+-----------------------+
| localhost | 92 | 72.24 ms | 785.21 us |
+-----------+------------+-------------------+-----------------------+
1 row in set (0.01 sec)
root@localhost [sys]>select host,statements, statement_latency,statement_avg_latency from x$host_summary;
+-----------+------------+-------------------+-----------------------+
| host | statements | statement_latency | statement_avg_latency |
+-----------+------------+-------------------+-----------------------+
| localhost | 91 | 63268768000 | 695261186.8132 |
+-----------+------------+-------------------+-----------------------+
1 row in set (0.01 sec)
接下来看看sys可以支持查看方向:
select substring_index(table_name,"_",1) ,count(*) from information_schema.tables where TABLE_SCHEMA='sys' and table_name not like 'x$%' group by substring_index(table_name,"_",1);
+-----------------------------------+----------+
| substring_index(table_name,"_",1) | count(*) |
+-----------------------------------+----------+
| host | 6 |
| innodb | 3 |
| io | 5 |
| latest | 1 |
| memory | 5 |
| metrics | 1 |
| processlist | 1 |
| ps | 1 |
| schema | 9 |
| session | 2 |
| statement | 1 |
| statements | 5 |
| sys | 1 |
| user | 6 |
| version | 1 |
| wait | 2 |
| waits | 3 |
+-----------------------------------+----------+
17 rows in set (0.00 sec)
sys_开头是库里的配置表:
sys_config 用于 sys schema 库的配置
视图:
host : 以 IP 分组相关的统计信息
innodb : innodb buffer 相关信息
io : 数据内不同维度展的 IO 相关的信息
memory : 以 IP,连接,用户,分配的类型分组及总的占用显示内存的使用
metrics : DB 的内部的统计值
processlist : 线程相关的信息(包含内部线程及用户连接)
ps_ : 没有工具统计的一些变量(没看出来存在的价值)
schema : 表结构相关的信息,例如: 自增,索引, 表里的每个字段类型,等待的锁等等
session : 用户连接相关的信息
statement : 基于语句的统计信息(重店)
statements_ : 出错的语句,进行全表扫描, 运行时间超长,排序相等(重点)
user_ : 和 host_ 开头的相似,只是以用户分组统计
wait : 等待事件,比较专业,难看懂。
waits : 以 IP,用户分组统计出来的一些延迟事件,有一定的参考价值。
先介绍到这里,大家先有一个印象。
本文分享自 MySQLBeginner 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!