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 中事件工具的名称:

每个阶段摘要 table 都有这些摘要列,其中包含汇总值:COUNT_STARSUM_TIMER_WAITMIN_TIMER_WAITAVG_TIMER_WAITMAX_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”