推广 热搜: 行业  机械  设备    经纪  教师  系统  参数    蒸汽 

漫谈MySQL六-系统数据库sys库详解

   日期:2024-11-10     移动:http://yejunbin01.xhstdz.com/mobile/quote/66130.html

目录

漫谈MySQL六-系统数据库sys库详解

1.sys 介绍

2.sys 系统库使用

 2.1.查看慢 SQL 语句慢在哪里

 2.2.查询表的增、删、改、查数据量和 I/O 耗时统计

 3.sys小结


 大家好,我是王老狮,平时我们在使用mysql中经常遇到慢sql以及想要了解sql执行的性能如何。那我们应该从哪里获取这些信息呢?今天我们就来聊一聊SYS库,来找一找答案。

sys 系统库通常都是提供给专业的 DBA 人员排查一些特定问题使用的,其下所涉及的各项查询或多或少都会对性能有一定的影响。所以这个库的配置、触发器等等就不过多介绍了。

同时在使用上:sys 系统库支持 MySQL 5.6 或更高版本,不支持 MySQL 5.5.x 及以下版本。因为 sys 系统库提供了一些代替直接访问 performance_schema 的视图,所以必须启用performance_schema(将 performance_schema 系统参数设置为 ON,sys 系统库的大部分功能才能正常使用。同时要完全访问 sys 系统库,用户必须具有以下数据库的管理员权限。如果要充分使用 sys 系统库的功能,则必须启用某些 performance_schema的功能。

当然 sys 系统库本身已经提供了启用所有需要的功能的存储过程,比如:启用所有的 wait instruments:CALL sys.ps_setup_enable_instrument('wait');启用所有事件类型的 current 表:CALL sys.ps_setup_enable_consumer('current');

注意:performance_schema 的默认配置就可以满足sys 系统库的大部分数据收集功能。启用所有需要功能会对性能产生一定的影响,因此最好仅启用所需的配置

如果使用了 USE 语句切换默认数据库,那么就可以直接使用 sys 系统库下的视图进行查询,就像查询某个库下的表一样操作。也可以使用 b_name.view_name、db_name.procedure_name、db_name.func_name 等方式,在不指定默认数据库的情况下访问 sys 系统库中的对象(这叫作名称限定对象引用)。

在 sys 系统库下包含很多视图,它们以各种方式对 performance_schema 表进行聚合计算展示。这些视图大部分是成对出现的,两个视图名称相同,但有一个视图是带“x$”前缀的,例如:host_summary_by_file_io 和x$host_summary_by_file_io,代表按照主机进行汇总统计的文件 I/O 性能数据, 两个视图访问的数据源是相同的,但是在创建视图的语句中,不带“x$”前缀的视图显示的是相关数值经过单位换算后的数据(单位是毫秒、秒、分钟、小时、天等,带“x$”前缀的视图显示的是原始的数据。

果我们频繁地在慢查询日志中发现某个语句执行缓慢,且在表结构、索引结构、统计信息中都无法找出原因时,则可以利用 sys 系统库中的撒手锏:sys.session 视图结合 performance_schema 的等待事件来找出症结所在。那么session 视图有什么用呢?使用它可以查看当前用户会话的进程列表信息,看看当前进程到底再干什么,注意,这个视图在 MySQL 5.7.9 中才出现。

首先需要启用与等待事件相关功能

 

然后模拟一下

 

本文地址:http://yejunbin01.xhstdz.com/quote/66130.html    物流园资讯网 http://yejunbin01.xhstdz.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号