MySQL提供的Performance Schema是经常用到的一个默认自带schema,徐老师的这篇文章给我们做了一些介绍,《MySQL监视——Performance Schema》,可以参考学习。
MySQL的Performance Schema是一套内存表,用于跟踪MySQL的性能指标。它实际上使用PERFORMANCE_SCHEMA存储引擎,用户操作performance_schema数据库中的表。用户通过Performance Schema能够观察哪些查询正在运行、I/O等待的状态,及历史性能数据等等信息。Performance Schema仅对本地服务器有效,所有的更改不会复制到其它的服务器。
Performance Schema的表大致可以分为6个组,配置、当前事件、历史、实例、摘要,及其它。配置组里面包括配置监视特征的表、当前事件组中的表包含最近的事件信息、历史组中的表存储历史事件数据、实例组中的表定义什么样的对象类型用于测量、摘要组中的表整合事件信息,其它组中的表则记录未被分类的信息。
用户可以通过修改setup_%表的内容配置Performance Schema,setup_%表包括如下5张表,
+----------------------------------------+| Tables_in_performance_schema (setup_%) |+----------------------------------------+| setup_actors || setup_consumers || setup_instruments || setup_objects || setup_threads |+----------------------------------------+
setup_actors:检测有哪些前台线程
setup_consumers :监控的事件存储在哪里
setup_instruments:Performance Schema收集哪些服务器度量指标
setup_objects :检测有哪些对象 setup_threads:检测有哪些线程分类
wait/io/file/myisam/logstage/sql/closing tables
通用(顶层)的组件包括,
idel:检测的空闲事件
error:检测的错误事件
memory:检测的内存事件
stage:检测的阶段事件
statement:检测的语句事件
transaction:检测的事务事件 wait:检测的等待事件
启用全部的检测项目
运行查询
通过分析,排除没有问题的部分
禁用已排除的检测项目
再次执行前面的过程,随着多次迭代,确定影响性能的根本原因
确定原因后,采取适当措施进行优化
对比优化后的性能
如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发pyq,





