Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


29.12.20.5 交易摘要表

性能 Schema 维护了用于收集当前和最近事务事件的表,并将这些信息聚合到摘要表中。 第29.12.7节,“性能 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 Connection Tables”

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

交易事件收集将对所有未中止的服务器启动的交易进行收集,包括空交易。

读写事务通常比只读事务更耗资源,因此交易摘要表包括读写和只读事务的分离聚合列。

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