Documentation Home

27.12.20.5 交易汇总表

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

示例交易事件摘要信息:

mysql> SELECT *
       FROM performance_schema.events_transactions_summary_global_by_event_name
       LIMIT 1\G
*************************** 1. row ***************************
          EVENT_NAME: transaction
          COUNT_STAR: 5
      SUM_TIMER_WAIT: 19550092000
      MIN_TIMER_WAIT: 2954148000
      AVG_TIMER_WAIT: 3910018000
      MAX_TIMER_WAIT: 5486275000
    COUNT_READ_WRITE: 5
SUM_TIMER_READ_WRITE: 19550092000
MIN_TIMER_READ_WRITE: 2954148000
AVG_TIMER_READ_WRITE: 3910018000
MAX_TIMER_READ_WRITE: 5486275000
     COUNT_READ_ONLY: 0
 SUM_TIMER_READ_ONLY: 0
 MIN_TIMER_READ_ONLY: 0
 AVG_TIMER_READ_ONLY: 0
 MAX_TIMER_READ_ONLY: 0

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

每个交易汇总表都有这些包含聚合值的汇总列:

  • COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT, MAX_TIMER_WAIT

    这些列类似于等待事件摘要表中的同名列(请参阅 第 27.12.20.1 节,“等待事件摘要表”),除了事务摘要表聚合事件来自 events_transactions_current 而不是 events_waits_current。这些列总结了读写和只读事务。

  • COUNT_READ_WRITE, SUM_TIMER_READ_WRITE, MIN_TIMER_READ_WRITE, AVG_TIMER_READ_WRITE, MAX_TIMER_READ_WRITE

    这些类似于COUNT_STARxxx_TIMER_WAIT 列,但仅汇总读写事务。事务访问模式指定事务是在读/写模式还是只读模式下运行。

  • COUNT_READ_ONLY, SUM_TIMER_READ_ONLY, MIN_TIMER_READ_ONLY, AVG_TIMER_READ_ONLY, MAX_TIMER_READ_ONLY

    这些类似于COUNT_STARxxx_TIMER_WAIT 列,但仅汇总只读事务。事务访问模式指定事务是在读/写模式还是只读模式下运行。

事务汇总表具有以下索引:

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

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

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

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

交易聚合规则

事务事件收集的发生与隔离级别、访问模式或自动提交模式无关。

事务事件收集发生在服务器发起的所有非中止事务中,包括空事务。

读写事务通常比只读事务占用更多资源,因此事务汇总表包括用于读写和只读事务的单独聚合列。

资源需求也可能因事务隔离级别而异。但是,假设每个服务器只使用一个隔离级别,则不提供按隔离级别的聚合。