events_stages_current 資料表包含目前階段事件。此資料表每個執行緒儲存一個資料列,顯示執行緒最近監控的階段事件的目前狀態,因此沒有系統變數可設定資料表大小。
在包含階段事件列的資料表中,events_stages_current 是最基本的。其他包含階段事件列的資料表在邏輯上是從目前事件衍生而來。例如,events_stages_history 和 events_stages_history_long 資料表分別是已結束的最近階段事件的集合,每個執行緒和所有執行緒最多儲存一定數量的資料列。
如需三個階段事件資料表之間關係的詳細資訊,請參閱章節 29.9,「用於目前和歷史事件的 Performance Schema 資料表」。
如需關於設定是否要收集階段事件的資訊,請參閱章節 29.12.5,「Performance Schema 階段事件資料表」。
events_stages_current 資料表具有下列欄位:
THREAD_ID、EVENT_ID與事件相關聯的執行緒以及事件開始時執行緒的目前事件編號。
THREAD_ID和EVENT_ID值一起使用時,可唯一識別資料列。沒有兩個資料列具有相同的值組。END_EVENT_ID此欄位在事件開始時設定為
NULL,並在事件結束時更新為執行緒的目前事件編號。EVENT_NAME產生事件的工具名稱。這是
setup_instruments資料表中的NAME值。工具名稱可能有多個部分並形成階層,如章節 29.6,「Performance Schema 工具命名慣例」中所述。SOURCE包含產生事件的檢測程式碼的原始檔案名稱,以及檔案中發生檢測的行號。這可讓您檢查原始碼,以精確判斷涉及哪些程式碼。
TIMER_START、TIMER_END、TIMER_WAIT事件的計時資訊。這些值的單位是皮秒(一秒的兆分之一)。
TIMER_START和TIMER_END值表示事件計時的開始和結束時間。TIMER_WAIT是事件的經過時間(持續時間)。如果事件尚未完成,則
TIMER_END是目前的計時器值,而TIMER_WAIT是目前為止經過的時間 (TIMER_END−TIMER_START)。如果事件是由具有
TIMED = NO的工具產生,則不會收集計時資訊,且TIMER_START、TIMER_END和TIMER_WAIT全部都是NULL。如需關於皮秒作為事件時間單位以及影響時間值的因素的討論,請參閱章節 29.4.1,「Performance Schema 事件計時」。
WORK_COMPLETED、WORK_ESTIMATED這些欄位提供了階段進度資訊,適用於已實作產生此類資訊的工具。
WORK_COMPLETED指示該階段已完成的工作單元數量,而WORK_ESTIMATED指示該階段預計的工作單元數量。 更多資訊,請參閱 階段事件進度資訊。NESTING_EVENT_ID此事件所嵌套的事件的
EVENT_ID值。 階段事件的嵌套事件通常是語句事件。NESTING_EVENT_TYPE嵌套事件類型。 值為
TRANSACTION、STATEMENT、STAGE或WAIT。
events_stages_current 表格具有以下索引
在 (
THREAD_ID,EVENT_ID) 上的主鍵
TRUNCATE TABLE 允許用於 events_stages_current 表格。 它會移除這些列。