Performance Schema 維護表格以收集目前和最近的等待事件,並將該資訊彙總在摘要表格中。第 29.12.4 節,「Performance Schema 等待事件表格」描述了等待摘要所依據的事件。請參閱該討論,以瞭解有關等待事件的內容、目前和最近的等待事件表格,以及如何控制預設為停用的等待事件收集的資訊。
範例等待事件摘要資訊
mysql> SELECT *
FROM performance_schema.events_waits_summary_global_by_event_name\G
...
*************************** 6. row ***************************
EVENT_NAME: wait/synch/mutex/sql/BINARY_LOG::LOCK_index
COUNT_STAR: 8
SUM_TIMER_WAIT: 2119302
MIN_TIMER_WAIT: 196092
AVG_TIMER_WAIT: 264912
MAX_TIMER_WAIT: 569421
...
*************************** 9. row ***************************
EVENT_NAME: wait/synch/mutex/sql/hash_filo::lock
COUNT_STAR: 69
SUM_TIMER_WAIT: 16848828
MIN_TIMER_WAIT: 0
AVG_TIMER_WAIT: 244185
MAX_TIMER_WAIT: 735345
...
每個等待事件摘要表格都有一個或多個群組欄位,以指示表格如何彙總事件。事件名稱是指 setup_instruments
表格中事件儀器的名稱
events_waits_summary_by_account_by_event_name
具有EVENT_NAME
、USER
和HOST
欄位。每一列彙總給定帳戶(使用者和主機組合)和事件名稱的事件。events_waits_summary_by_host_by_event_name
具有EVENT_NAME
和HOST
欄位。每一列彙總給定主機和事件名稱的事件。events_waits_summary_by_instance
具有EVENT_NAME
和OBJECT_INSTANCE_BEGIN
欄位。每一列彙總給定事件名稱和物件的事件。如果儀器用於建立多個執行個體,則每個執行個體都有一個唯一的OBJECT_INSTANCE_BEGIN
值,並在此表格中單獨摘要。events_waits_summary_by_thread_by_event_name
具有THREAD_ID
和EVENT_NAME
欄位。每一列彙總給定執行緒和事件名稱的事件。events_waits_summary_by_user_by_event_name
具有EVENT_NAME
和USER
欄位。每一列彙總給定使用者和事件名稱的事件。events_waits_summary_global_by_event_name
具有EVENT_NAME
欄位。每一列彙總給定事件名稱的事件。儀器可能用於建立儀器化物件的多個執行個體。例如,如果有一個互斥鎖的儀器是為每個連線建立的,則執行個體的數量與連線的數量相同。該儀器的摘要列會彙總所有這些執行個體。
每個等待事件摘要表格都有這些包含彙總值的摘要欄位
COUNT_STAR
已摘要事件的數量。此值包含所有事件,無論計時或不計時。
SUM_TIMER_WAIT
已摘要計時事件的總等待時間。此值僅針對計時事件計算,因為不計時事件的等待時間為
NULL
。其他
值也是如此。xxx
_TIMER_WAITMIN_TIMER_WAIT
已摘要計時事件的最小等待時間。
AVG_TIMER_WAIT
已摘要計時事件的平均等待時間。
MAX_TIMER_WAIT
已摘要計時事件的最大等待時間。
等待事件摘要表格具有這些索引
events_waits_summary_by_account_by_event_name
:主鍵於 (
USER
、HOST
、EVENT_NAME
)
events_waits_summary_by_host_by_event_name
:主鍵於 (
HOST
、EVENT_NAME
)
events_waits_summary_by_instance
:主鍵於 (
OBJECT_INSTANCE_BEGIN
)索引於 (
EVENT_NAME
)
events_waits_summary_by_thread_by_event_name
:主鍵位於 (
THREAD_ID
,EVENT_NAME
)
events_waits_summary_by_user_by_event_name
:主鍵位於 (
USER
,EVENT_NAME
)
events_waits_summary_global_by_event_name
:主鍵位於 (
EVENT_NAME
)
TRUNCATE TABLE
允許用於等待摘要表。它具有以下效果:
對於未按帳戶、主機或使用者彙總的摘要表,截斷會將摘要欄位重設為零,而不是移除列。
對於按帳戶、主機或使用者彙總的摘要表,截斷會移除沒有連線的帳戶、主機或使用者的列,並將其餘列的摘要欄位重設為零。
此外,每個按帳戶、主機、使用者或執行緒彙總的等待摘要表,都會因截斷它所依賴的連線表,或截斷 events_waits_summary_global_by_event_name
而被隱含地截斷。詳細資訊,請參閱 第 29.12.8 節,「Performance Schema 連線表」。