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
表中的事件仪器名称
events_transactions_summary_by_account_by_event_name
具有USER
、HOST
和EVENT_NAME
列。每行都汇总了给定帐户(用户和主机组合)和事件名称的事件。events_transactions_summary_by_host_by_event_name
具有HOST
和EVENT_NAME
列。每行都汇总了给定主机和事件名称的事件。events_transactions_summary_by_thread_by_event_name
具有THREAD_ID
和EVENT_NAME
列。每行都汇总了给定线程和事件名称的事件。events_transactions_summary_by_user_by_event_name
具有USER
和EVENT_NAME
列。每行都汇总了给定用户和事件名称的事件。events_transactions_summary_global_by_event_name
具有一个EVENT_NAME
列。每行都汇总了给定事件名称的事件。
每个事务摘要表都具有包含聚合值的这些摘要列
COUNT_STAR
、SUM_TIMER_WAIT
、MIN_TIMER_WAIT
、AVG_TIMER_WAIT
、MAX_TIMER_WAIT
这些列类似于等待事件摘要表中同名列的列(见 第 29.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_STAR
和
列类似,但仅汇总读写事务。事务访问模式指定事务以读/写模式还是只读模式运行。xxx
_TIMER_WAITCOUNT_READ_ONLY
、SUM_TIMER_READ_ONLY
、MIN_TIMER_READ_ONLY
、AVG_TIMER_READ_ONLY
、MAX_TIMER_READ_ONLY
这些与
COUNT_STAR
和
列类似,但仅汇总只读事务。事务访问模式指定事务以读/写模式还是只读模式运行。xxx
_TIMER_WAIT
事务摘要表具有这些索引
events_transactions_summary_by_account_by_event_name
:主键在 (
USER
、HOST
、EVENT_NAME
) 上
events_transactions_summary_by_host_by_event_name
:主键为 (
HOST
,EVENT_NAME
)
events_transactions_summary_by_thread_by_event_name
:主键为 (
THREAD_ID
,EVENT_NAME
)
events_transactions_summary_by_user_by_event_name
:主键为 (
USER
,EVENT_NAME
)
events_transactions_summary_global_by_event_name
:主键为 (
EVENT_NAME
)
TRUNCATE TABLE
允许用于事务汇总表。它具有以下效果
对于未按帐户、主机或用户汇总的汇总表,截断会将汇总列重置为零,而不是删除行。
对于按帐户、主机或用户汇总的汇总表,截断会删除没有连接的帐户、主机或用户的行,并将剩余行的汇总列重置为零。
此外,每个按帐户、主机、用户或线程汇总的事务汇总表都会在它依赖的连接表截断或 events_transactions_summary_global_by_event_name
截断时隐式截断。有关详细信息,请参阅 第 29.12.8 节,“Performance Schema 连接表”。