25.12.15.2 阶段摘要 table
性能模式维护用于收集当前和最近阶段事件的 table,并将该信息汇总到摘要 table 中。 第 25.12.5 节“性能架构阶段事件 table”描述了阶段摘要所基于的事件。请参阅该讨论,以获取有关舞台事件的内容,当前和历史舞台事件 table 以及如何控制舞台事件收集(默认情况下已禁用)的信息。
示例阶段事件摘要信息:
mysql> SELECT *
FROM performance_schema.events_stages_summary_global_by_event_name\G
...
*************************** 5. row ***************************
EVENT_NAME: stage/sql/checking permissions
COUNT_STAR: 57
SUM_TIMER_WAIT: 26501888880
MIN_TIMER_WAIT: 7317456
AVG_TIMER_WAIT: 464945295
MAX_TIMER_WAIT: 12858936792
...
*************************** 9. row ***************************
EVENT_NAME: stage/sql/closing tables
COUNT_STAR: 37
SUM_TIMER_WAIT: 662606568
MIN_TIMER_WAIT: 1593864
AVG_TIMER_WAIT: 17907891
MAX_TIMER_WAIT: 437977248
...
每个阶段摘要 table 都有一个或多个分组列,以指示该 table 如何聚合事件。事件名称是指setup_instrumentstable 中事件工具的名称:
-
events_stages_summary_by_account_by_event_name具有
EVENT_NAME
,USER
和HOST
列。每行总结了给定帐户(用户和主机组合)的事件和事件名称。 -
events_stages_summary_by_host_by_event_name具有
EVENT_NAME
和HOST
列。每行总结了给定主机和事件名称的事件。 -
events_stages_summary_by_thread_by_event_name具有
THREAD_ID
和EVENT_NAME
列。每行总结了给定线程和事件名称的事件。 -
events_stages_summary_by_user_by_event_name具有
EVENT_NAME
和USER
列。每行总结了给定用户和事件名称的事件。 -
events_stages_summary_global_by_event_name具有
EVENT_NAME
列。每行总结了给定事件名称的事件。
每个阶段摘要 table 都有这些摘要列,其中包含汇总值:COUNT_STAR
,SUM_TIMER_WAIT
,MIN_TIMER_WAIT
,AVG_TIMER_WAIT
和MAX_TIMER_WAIT
。这些阶段类似于 await 事件摘要 table(请参见第 25.12.15.1 节,“await 事件摘要 table”)中具有相同名称的列,不同之处在于阶段摘要 table 会聚合来自events_stages_current而不是events_waits_current的事件。
阶段摘要 table 允许TRUNCATE TABLE。它具有以下效果:
-
对于未按帐户,主机或用户聚合的摘要 table,截断会将摘要列重置为零,而不是删除行。
-
对于按帐户,主机或用户聚合的摘要 table,截断将删除无连接的帐户,主机或用户的行,并将其余行的摘要列重置为零。
此外,由帐户,主机,用户或线程聚合的每个阶段摘要 table 都将通过其所依赖的连接 table 的截断或events_stages_summary_global_by_event_name的截断而隐式地截断。有关详细信息,请参见第 25.12.8 节“性能架构连接 table”。