千家信息网

Performance Schema怎么用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关Performance Schema怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Performance Schema简介Orac
千家信息网最后更新 2026年11月02日Performance Schema怎么用

这篇文章将为大家详细讲解有关Performance Schema怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Performance Schema简介

Oracle DBA都应该知道 Oracle中提供了大量的视图供DBA们排查问题使用,并且有等待事件帮助大家快速定位问题属于哪一类。MySQL 中也有Performance Schema帮助大家去分析排查问题,并且在5.7中增加了Sys Schema,将Performance Schema和information_schema的信息格式化后,供大家更方便的分析问题。


这里先介绍先Performance Schema的使用方式,便于后面大家更好的去使用Sys Schema。

Performance Schema开启方式

  • 设置instruments及consumers开启

开启performance_schema=on之后我们还需要进行设置instruments及consumers


instruments通俗讲就是监控项可以通过setup_instruments表设置需要开启对哪些项监控进行统计

consumers就是控制是否将监控到的结果进行记录

UPDATE setup_instruments SET ENABLED = 'YES', TIMED = 'YES';

UPDATE setup_consumers SET ENABLED = 'YES';

如果不开启instruments和consumers则相应的事件检测则不能使用,也就不能收集相应的等待事件和性能的统计。

当然我们也可以单独设置某一个instruments的开启和关闭

UPDATE setup_instruments SET ENABLED = 'NO'

WHERE NAME = 'wait/io/file/sql/binlog';

为了防止重启后恢复默认配置可以添加到配置文件中设置

performance-schema-instrument='instrument_name=value'

performance-schema-consumer-consumer_name=value

instrument_name和consumer_name

可以通过查询setup_instruments和setup_consumers;查看

setup_consumers中的层级关系

mysql> select * from setup_consumers;

+--------------------------------+---------+
| NAME | ENABLED |
+--------------------------------+---------+
| events_stages_current | YES |
| events_stages_history | YES |
| events_stages_history_long | YES |
| events_statements_current | YES |
| events_statements_history | YES |
| events_statements_history_long | YES |
| events_waits_current | YES |
| events_waits_history | YES |
| events_waits_history_long | YES |
| global_instrumentation | YES |
| thread_instrumentation | YES |
| statements_digest | YES |
+--------------------------------+---------+

12 rows in set (0.00 sec)

setup_consumers中的事件表有层级之分 ,我们可以通过上面看到有 global、thread、current、history、history_long,他们之间的层级如下:

global_instrumentation

thread_instrumentation
events_waits_current
events_waits_history
events_waits_history_long
events_stages_current
events_stages_history
events_stages_history_long
events_statements_current
events_statements_history
events_statements_history_long

statements_digest

也就是说,如果设置了global的才会去检查thread的有没有被设置,如果thread的设置了才会去检查current的有没有被设置,如果global的没有被设置则thread和current都不去检查,相应的信息也不会记录到对应的表中。

如果global_instrumentation没有被设置则对应的表中都不会记录任何信息。


这里的history、history_long可以通过参数设置大小,因为是内存表,如果太大会占用很多内存。

setup_instruments中的类型

mysql> select name,count(*) from setup_instruments group by left(name,5);

+---------------------------------+----------+
| name | count(*) |
+---------------------------------+----------+
| idle | 1 |
| stage/sql/After create | 108 |
| statement/sql/select | 168 |
| wait/synch/mutex/sql/PAGE::lock | 279 |
+---------------------------------+----------+

4 rows in set (0.00 sec)

我们可以看到setup_instruments中的类型有四种(5.6版本)。

具体的解释大家可以在官网中查看:

https://dev.mysql.com/doc/refman/5.6/en/performance-schema-instrument-naming.html

简单使用介绍

简单介绍几个语句用于排查SQL语句的效率

  • 查看哪些索引没有被使用过

SELECT

OBJECT_SCHEMA,
OBJECT_NAME,
INDEX_NAME
FROM table_io_waits_summary_by_index_usage
WHERE INDEX_NAME IS NOT NULL
AND COUNT_STAR = 0
AND OBJECT_SCHEMA <> 'mysql'

ORDER BY OBJECT_SCHEMA,OBJECT_NAME;

    • 查看SQL语句在哪个阶段消耗最大

    SELECT eshl.event_name, sql_text, eshl.timer_wait/1000000000000 w_s

    FROM performance_schema.events_stages_history_long eshl
    JOIN performance_schema.events_statements_history_long esthl
    ON (eshl.nesting_event_id = esthl.event_id)

    WHERE eshl.timer_wait > 1*10000000000\G

    关于"Performance Schema怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

事件 可以通过 问题 信息 层级 篇文章 语句 帮助 检查 监控 内存 就是 方式 更多 类型 分析 统计 配置 不错 实用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州紫鲸互联网科技有限公司 互联网科技小贷 互联网 科技创业 互联网 的科技创新 天津摩尔互联网科技 科技互联网创业计划书 恒银科技与互联网金融 互联网时代科技改变生活 互联网科技与大数据专业 洛阳昕诺飞互联网科技有限公司 本届互联网博览会上的黑科技 中国科技创新与世界互联网大会 翼展科技 首家互联网医院 烟台灵鸽互联网科技有限公司 智帮互联网科技公司最近动向 深圳无忧互联网科技 福建互联网展示科技馆设计 互联网科技收购价值 互联网科技创业有什么好项目 恒生科技互联网指数十大成分股 互联网核心科技是什么 互联网金融 科技金融 中国互联网科技发展 奇酷互联网科技公司 上海卓越科技 互联网 成都狮子座互联网科技 互联网实体化科技化 江阴互联网智能科技产品进口 科技类公司包括互联网吗 第三届互联网大会安防黑科技
0