mysql 5.5 版本 新增了一个性能优化的引擎: PERFORMANCE_SCHEMA这个功能默认是关闭的:
需要设置参数: performance_schema 才可以启动该功能,这个参数是静态参数,只能写在my.cnf 中 不能动态修改。
先看看有什么东西吧:
mysql> use performance_schema;Database changedmysql> show tables ;+----------------------------------------------+| Tables_in_performance_schema |+----------------------------------------------+| cond_instances || events_waits_current || events_waits_history || events_waits_history_long || events_waits_summary_by_instance || events_waits_summary_by_thread_by_event_name || events_waits_summary_global_by_event_name || file_instances || file_summary_by_event_name || file_summary_by_instance || mutex_instances || performance_timer || rwlock_instances || setup_consumers || setup_instruments || setup_timers || threads |+----------------------------------------------+17 rows in set (0.00 sec)
这里的数据表分为几类:
(1) setup table : 设置表,配置监控选项。
(2) current events table : 记录当前那些thread 正在发生什么事情。
(3)history table 发生的各种事件的历史记录表
(4)summary table 对各种事件的统计表
(5) 杂项表,乱七八糟表。
setup 表:
mysql> SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES-> WHERE TABLE_SCHEMA = "performance_schema"-> AND TABLE_NAME LIKE "setup%";+-------------------+| TABLE_NAME |+-------------------+| setup_consumers || setup_instruments || setup_timers |+-------------------+setup_consumers 描述各种事件setup_instruments 描述这个数据库下的表名以及是否开启监控。setup_timers 描述 监控选项已经采样频率的时间间隔