文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


29.12.20.5 事务摘要表

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

示例事务事件摘要信息

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_STARSUM_TIMER_WAITMIN_TIMER_WAITAVG_TIMER_WAITMAX_TIMER_WAIT

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

  • COUNT_READ_WRITESUM_TIMER_READ_WRITEMIN_TIMER_READ_WRITEAVG_TIMER_READ_WRITEMAX_TIMER_READ_WRITE

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

  • COUNT_READ_ONLYSUM_TIMER_READ_ONLYMIN_TIMER_READ_ONLYAVG_TIMER_READ_ONLYMAX_TIMER_READ_ONLY

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

事务摘要表具有这些索引

TRUNCATE TABLE 允许用于事务汇总表。它具有以下效果

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

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

此外,每个按帐户、主机、用户或线程汇总的事务汇总表都会在它依赖的连接表截断或 events_transactions_summary_global_by_event_name 截断时隐式截断。有关详细信息,请参阅 第 29.12.8 节,“Performance Schema 连接表”

事务聚合规则

事务事件收集不考虑隔离级别、访问模式或自动提交模式。

服务器启动的所有非中止事务(包括空事务)都会进行事务事件收集。

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

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