PEFORMANCE_SCHEMA存储引擎

文章目录

​前言

​一、查询当前数据库版本是否支持 

​二、设置performance_schema默认启用及查询引擎元数据 

1.启用引擎

 2.查询引擎元数据

​三、performance_schema表的分类

​语句事件记录表

​等待事件记录表

​阶段事件记录表

 ​事务事件记录表

​监视文件系统层调用的表

​监视内存使用的表

​动态对performance_schema进行配置的配置表

​四、performance_schema的配置和使用

1.简单配置

2.使用 

​总结


前言

         一般查询性能数据时,会使用sys schema下的视图,但sys schema中的数据实际上来自于performance_schema 和 information_schema 中获取的。


在这里插入图片描述

在这里插入图片描述 一、查询当前数据库版本是否支持 

        performance_schema被视为存储引擎,如果该引擎可用,则应该在INFORMATION_SCHEMA.ENGINES表或show engines语句的输出中可以看到Support字段值为YES,如下所示:

1.使用INFFORMATION_SCHEMA.ENGINES表查询:

        SELECT * FROM INFORMATION_SCHEMA.ENGINES WHERE ENGINE ='PERFORMANCE_SCHEMA'; 

2.使用SHOW ENGINES语句查询:

        SHOW ENGINES;

Support字段值为YES时表示performance_schema已初始化且可以使用。

Support字段值为OFF时表示performance_schema在启用时发生错误,可通过错误日志进行排查。

注:该引擎在MYSQL5.6及之前的版本默认没有启用,在MYSQL537及之后的版本中为默认启用。


在这里插入图片描述

在这里插入图片描述 二、设置performance_schema默认启用及查询引擎元数据 

1.启用引擎

         如果要显式启用或关闭performance_schema,则需要使用参数performance_schema=ON|OFF来设置,并在my.cnf中进行配置。

mysqld启动后使用下列语句查看是否启用生效,OFF为启用时出错,ON为初始化成功可以使用。

        show variables like 'performance_schema';

 

 2.查询引擎元数据

1.通过查询INOEMATION_SCHEMA.TABLES表:

        SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'performance_schema';

 

2.在performation_schema库中使用SHOW TABLES查询:

        USE performance_schema;

        SHOW TABLES FROM performation_schema; 

 

 

 


在这里插入图片描述

在这里插入图片描述 三、performance_schema表的分类

        performance_schema库下的表可以按照监视的不同维度进行分组。

语句事件记录表

记录语句事件信息的表,包括:

  • events_statements_current(当前语句事件表)
  • events_statements_history(历史语句事件表)
  • events_statements_history_long(长语句事件表)
  • summary表(聚合后的摘要表)

通过下列语句查询:

        SHOW TABLES LIKE 'events_statement%';

等待事件记录表

通过下列语句查询:

        SHOW TABLES LIKE 'events_wait%';

 

阶段事件记录表

通过下列语句查询:

        SHOW TABLES LIKE 'events_stage%';

 事务事件记录表

通过下列语句查询:

        SHOW TABLES LIKE 'events_transaction%';

 

监视文件系统层调用的表

通过下列语句查询:

        SHOW TABLES LIKE '%file%';

 

监视内存使用的表

通过下列语句查询:

        SHOW TABLES LIKE '%memory%';

 

动态对performance_schema进行配置的配置表

通过下列语句查询:

        SHOW TABLES LIKE '%setup%';

 


在这里插入图片描述

在这里插入图片描述 四、performance_schema的配置和使用

1.简单配置

打开等待事件的采集器配置开关:        

        UPDATE setup_instruments SET ENABLED='YES',TIMED='YES' where name like 'wait%';

打开等待时间的报错表低配置开关:

        UPDATE setup_consumers SET ENABLED ='YES' WHERE NAME LIKE '%wait%'; 

 

 

2.使用 

查看当前Server正在做的事情:

        SELECT * FROM  events_waits_current LIMIT 1\G;

  •  *_current表:记录每个线程最新监视事件(只记录1条,完成工作后不再记录该线程的事件信息)。
  • *_history表:记录每个线程已经执行完成的事件信息(只记录10条,超出则覆盖)。
  • *_history_long表:记录所有线程已经执行完成的事件信息(只记录10000条,超出则覆盖)。
  • summary表:提供所有事件的汇总信息,以不同的方式汇总事件数据。
  • instance表:记录了哪些类型的对象会被检测,这些对象在被Server使用时,在该表中产生一条事件记录。

 在这里插入图片描述 

总结

        MYSQL的performance_schema是运行在较低级别的用于监控MYSQL Server运行过程中的资源消耗、资源等待等情况的一个功能特征;performance_schema实现机制遵循以下设计目标:

  • 启用performance_schema不会导致server的行为发生变化。
  • 在该实现机制中没有增加新的关键字或语句,解析器不会变化。
  • 启用performance_schema之后,server会持续不间断地监测,开销很小,不会导致server不可用。
  • 即使performance_schema的监测机制在内部对某事件执行监测失败,也不会影响server正常运行。

 在这里插入图片描述 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阑珊处的秋月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值