Documentation Home

27.12.20.2 阶段汇总表

Performance Schema 维护用于收集当前和最近阶段事件的表,并在汇总表中聚合该信息。 第 27.12.5 节,“性能模式阶段事件表”描述了阶段摘要所基于的事件。有关阶段事件的内容、当前和历史阶段事件表以及如何控制阶段事件收集(默认情况下禁用)的信息,请参阅该讨论。

示例阶段事件摘要信息:

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
...

每个阶段汇总表都有一个或多个分组列来指示该表如何聚合事件。事件名称参考 setup_instruments表中事件工具的名称:

每个阶段汇总表都有这些包含聚合值的汇总列:COUNT_STARSUM_TIMER_WAITMIN_TIMER_WAITAVG_TIMER_WAITMAX_TIMER_WAIT。这些列类似于等待事件摘要表中的同名列(请参阅 第 27.12.20.1 节,“等待事件摘要表”),除了阶段摘要表聚合事件来自 events_stages_current而不是 events_waits_current

阶段汇总表具有以下索引:

TRUNCATE TABLE允许用于阶段汇总表。它具有以下效果:

  • 对于未按帐户、主机或用户聚合的汇总表,截断会将汇总列重置为零而不是删除行。

  • 对于按账户、主机或用户聚合的汇总表,截断会删除没有连接的账户、主机或用户的行,并将剩余行的汇总列重置为零。

此外,每个按帐户、主机、用户或线程聚合的阶段汇总表都会通过截断它所依赖的连接表或截断 events_stages_summary_global_by_event_name. 有关详细信息,请参阅 第 27.12.8 节,“性能模式连接表”