Mysql Performance_schema简介, 表和常用性能查询

简介performance_schema是运行在较低级别的用于监控MySQL Server运行过程中的资源消耗、资源等待等情况的一个功能特性,它具有以下特点。提供了一种在数据库运行时实时检查Server内部执行情况的方法 可监控任何事情以及对应的时间消耗,利用这些信息来判断Server中的相关资源消耗 只被记录在本地Server的performance_schema中,其表中数据发生变化时不会被写入binlog中,也不会通过复制机制被复制到其他Server中 对于这些表可使用SELECT语..
摘要由CSDN通过智能技术生成

简介

performance_schema是运行在较低级别的用于监控MySQL Server运行过程中的资源消耗、资源等待等情况的一个功能特性,也是一个存储引擎。该特性具有以下特点。

  • 提供了一种在数据库运行时实时检查Server内部执行情况的方法
  • 可监控任何事情以及对应的时间消耗,利用这些信息来判断Server中的相关资源消耗
  • 只被记录在本地Server的performance_schema中,其表中数据发生变化时不会被写入binlog中,也不会通过复制机制被复制到其他Server中
  • 对于这些表可使用SELECT语句查询,也可以使用SQL语句更新performance_schema数据库中的表记录,但不建议更新,会影响后续的数据收集
  • 表中数据不会持久化存储在磁盘中,而是保存在内存中,一旦服务器重启,这些数据就会丢失
  • 不会导致server的行为发生变化(查询,优化等)
  • 总体上开销有限也不会影响性能
  • 对某事件监测失败,不影响server正常运行
  • 当针对一个数据,同时被performance_schema收集和查询,则收集优先与查询
  • 事件监测点进行配置

使用

  • 查看是否当前数据库是否支持
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)

Support为yes则表示支持该特性

  • 查看该特性是否使能
mysql> show variables like 'performance_schema';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| performance_schema | ON    |
+--------------------+-------+
1 row in set (0.02 sec)

如果为off则表示未使能。该参数为只读参数,则可在mysql.cnf中进行配置后重启服务

  • 查看有哪些表使用了该引擎
mysql> use performance_schema;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+------------------------------------------------------+
| Tables_in_performance_schema                         |
+------------------------------------------------------+
| accounts                                             |
| binary_log_transaction_compression_stats             |
| cond_instances                                       |
| data_lock_waits                                      |
| data_locks                 
  • 使用该引擎的这些表的分类

通过查询,在mysql 8.0版本中,共有110个表。这些表根据监测维度不同,我们将其分为:

1)语句事件记录表

mysql> show tables like 'events_statement%';
+----------------------------------------------------+
| Tables_in_performance_schema (events_statement%)   |
&#
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQLperformance_schema是一个用于监控数据库性能的子系统。它通过收集和存储关于MySQL实例中不同线程的性能信息,帮助用户进行性能分析和优化。 performance_schema中的threads触发器是用于监控和捕获线程活动的机制。当指定的事件发生时,触发器会触发相应的动作,例如记录线程活动相关的信息。 threads触发器可以监视和记录各种线程活动,例如线程的状态变化、线程的操作和执行时间等。通过使用threads触发器,可以了解特定线程的执行情况,例如查询语句的执行时间、锁等待时间和线程的状态等。 使用threads触发器,可以进行以下方面的性能分析和优化: 1. 监视长时间运行的查询:通过检查线程的执行时间,可以发现执行时间过长的查询语句,进而对其进行优化,提高查询性能。 2. 检测锁等待:当线程处于等待锁的状态时,可以通过触发器记录相关信息,帮助用户发现潜在的锁等待问题,并采取相应的优化措施。 3. 分析线程状态变化:通过监控线程状态的变化,可以了解线程的工作情况,发现潜在的性能瓶颈和问题。 4. 追踪线程操作:记录线程的操作可以帮助用户了解线程在执行查询、修改和删除等操作时的性能现,从而进行性能优化。 总之,MySQLperformance_schema threads触发器是用于监控和分析数据库性能的重要工具。通过使用该触发器,可以获取线程的各种性能信息,帮助用户进行性能优化和故障排查。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值