• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

学习MySQL 5.7的Sys库使用(上)

mysql 搞代码 4年前 (2022-01-09) 47次浏览 已收录 0个评论

MySQL 5.7 引入sys库 用于帮助DBA分析一些问题。 sys库里面就是一些存储过程,视图,函数等。

视图或是表: 用于结果的汇总展示及配置持久化

存储过程: 用于对Performance schema的控制及收集。

函数: 对于Performance schema的配置及数据格式化。

今天主要先讲解视图相关的内容。其它内容看大家需求。

Sys库里的数据来源

Sys库所有的数据源来自:performance_schema 。目标是把Performance_schema的把复杂度降低,让DBA能更好的阅读这个库里的内容。让DBA更快的了解DB的运行情况。

查看sys库的版本

select * from sys.version;+-------------+---------------+| sys_version | mysql_version |+-------------+---------------+| 1.5.1           | 5.7.14-log      |+-------------+---------------+

Sys库下有两种表

  • 字母开头 : 适合人阅读,显示是格式化的数

  • x$开头 : 适合工具采集数据,原始类数据

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 |+------<div>本文来源gaodai.ma#com搞#代!码网_</div>-----------------------------+----------+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,用户分组统计出来的一些延迟事件,有一定的参考价值。

以上就是学习MySQL 5.7的Sys库使用(上)的内容,更多相关内容请关注搞代码(www.gaodaima.com)!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:学习MySQL 5.7的Sys库使用(上)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址