events_statements_current
資料表包含目前的陳述式事件。此資料表每個執行緒儲存一列,顯示該執行緒最近監控的陳述式事件的目前狀態,因此沒有系統變數可設定資料表大小。
在包含陳述式事件列的資料表中,events_statements_current
是最基本的。其他包含陳述式事件列的資料表邏輯上是從目前的事件衍生而來的。例如,events_statements_history
和 events_statements_history_long
資料表分別是最近已結束的陳述式事件的集合,每個執行緒和所有執行緒的列數上限。
如需關於三個 events_statements_
事件資料表之間關係的更多資訊,請參閱 第 29.9 節,「效能架構目前與歷史事件資料表」。xxx
如需關於設定是否收集陳述式事件的資訊,請參閱 第 29.12.6 節,「效能架構陳述式事件資料表」。
events_statements_current
資料表具有下列欄位
THREAD_ID
、EVENT_ID
事件相關聯的執行緒,以及當事件開始時執行緒的目前事件編號。
THREAD_ID
和EVENT_ID
值一起唯一識別該列。沒有兩列具有相同的值對。END_EVENT_ID
此欄位在事件開始時設定為
NULL
,並在事件結束時更新為執行緒的目前事件編號。EVENT_NAME
收集事件的儀器名稱。這是
setup_instruments
資料表中的NAME
值。儀器名稱可能有多個部分,並形成一個階層,如 第 29.6 節,「效能架構儀器命名慣例」 中所述。對於 SQL 陳述式,
EVENT_NAME
值最初為statement/com/Query
,直到陳述式被剖析,然後變更為更適當的值,如 第 29.12.6 節,「效能架構陳述式事件資料表」 中所述。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 節,「效能綱要事件計時」。
LOCK_TIME
等待資料表鎖定的時間。此值以微秒計算,但為了更容易與其他效能綱要計時器比較,會正規化為微微秒。
SQL_TEXT
SQL 陳述式的文字。對於未與 SQL 陳述式相關聯的命令,此值為
NULL
。預設情況下,用於顯示陳述式的最大空間為 1024 個位元組。若要變更此值,請在伺服器啟動時設定
performance_schema_max_sql_text_length
系統變數。(變更此值也會影響其他效能綱要資料表中的資料行。請參閱第 29.10 節,「效能綱要陳述式摘要和取樣」。)DIGEST
陳述式摘要 SHA-256 值,以 64 個十六進位字元的字串表示,如果
statements_digest
取用者是no
,則為NULL
。如需有關陳述式摘要的更多資訊,請參閱第 29.10 節,「效能綱要陳述式摘要和取樣」。DIGEST_TEXT
正規化的陳述式摘要文字,如果
statements_digest
取用者是no
,則為NULL
。如需有關陳述式摘要的更多資訊,請參閱第 29.10 節,「效能綱要陳述式摘要和取樣」。performance_schema_max_digest_length
系統變數決定每個工作階段可用的摘要值儲存最大位元組數。但是,由於摘要緩衝區中陳述式元素(例如關鍵字和常值)的編碼,陳述式摘要的顯示長度可能會大於可用緩衝區大小。因此,從陳述式事件資料表的DIGEST_TEXT
資料行選取的值可能會超出performance_schema_max_digest_length
值。CURRENT_SCHEMA
陳述式的預設資料庫,如果沒有預設資料庫,則為
NULL
。OBJECT_SCHEMA
、OBJECT_NAME
、OBJECT_TYPE
對於巢狀陳述式(預存程式),這些資料行包含有關父陳述式的資訊。否則,它們會是
NULL
。OBJECT_INSTANCE_BEGIN
此資料行會識別陳述式。此值是記憶體中物件的位址。
MYSQL_ERRNO
來自陳述式診斷區域的陳述式錯誤編號。
RETURNED_SQLSTATE
來自陳述式診斷區域的陳述式 SQLSTATE 值。
MESSAGE_TEXT
來自陳述式診斷區域的陳述式錯誤訊息。
ERRORS
陳述式是否發生錯誤。如果 SQLSTATE 值以
00
(完成)或01
(警告)開頭,則此值為 0。如果 SQLSTATE 值是其他任何值,則此值為 1。WARNINGS
來自陳述式診斷區域的警告數量。
ROWS_AFFECTED
陳述式影響的資料列數。如需有關「影響」含義的說明,請參閱 mysql_affected_rows()。
ROWS_SENT
陳述式傳回的資料列數。
ROWS_EXAMINED
伺服器層檢查的資料列數(不計算儲存引擎內部的任何處理)。
CREATED_TMP_DISK_TABLES
類似於
Created_tmp_disk_tables
狀態變數,但特定於陳述式。CREATED_TMP_TABLES
類似於
Created_tmp_tables
狀態變數,但特定於陳述式。SELECT_FULL_JOIN
類似於
Select_full_join
狀態變數,但特定於陳述式。SELECT_FULL_RANGE_JOIN
類似於
Select_full_range_join
狀態變數,但特定於陳述式。SELECT_RANGE
類似於
Select_range
狀態變數,但特定於陳述式。SELECT_RANGE_CHECK
類似於
Select_range_check
狀態變數,但特定於陳述式。SELECT_SCAN
類似於
Select_scan
狀態變數,但特定於陳述式。SORT_MERGE_PASSES
類似於
Sort_merge_passes
狀態變數,但特定於陳述式。SORT_RANGE
類似於
Sort_range
狀態變數,但特定於陳述式。SORT_ROWS
類似於
Sort_rows
狀態變數,但特定於陳述式。SORT_SCAN
類似於
Sort_scan
狀態變數,但特定於陳述式。NO_INDEX_USED
如果陳述式執行資料表掃描而未使用索引,則為 1,否則為 0。
NO_GOOD_INDEX_USED
如果伺服器找不到適用於陳述式的良好索引,則為 1,否則為 0。如需其他資訊,請參閱 第 10.8.2 節,「EXPLAIN 輸出格式」中,
EXPLAIN
輸出的Extra
資料行中「為每個記錄檢查範圍」值的說明。NESTING_EVENT_ID
、NESTING_EVENT_TYPE
、NESTING_EVENT_LEVEL
這三個資料行會與其他資料行一起使用,以針對最上層(非巢狀)陳述式和巢狀陳述式(在預存程式中執行)提供以下資訊。
針對最上層陳述式
OBJECT_TYPE = NULL OBJECT_SCHEMA = NULL OBJECT_NAME = NULL NESTING_EVENT_ID = the parent transaction EVENT_ID NESTING_EVENT_TYPE = 'TRANSACTION' NESTING_LEVEL = 0
針對巢狀陳述式
OBJECT_TYPE = the parent statement object type OBJECT_SCHEMA = the parent statement object schema OBJECT_NAME = the parent statement object name NESTING_EVENT_ID = the parent statement EVENT_ID NESTING_EVENT_TYPE = 'STATEMENT' NESTING_LEVEL = the parent statement NESTING_LEVEL plus one
STATEMENT_ID
伺服器在 SQL 層級維護的查詢 ID。此值對於伺服器執行個體而言是唯一的,因為這些 ID 是使用以原子方式遞增的全域計數器產生。
CPU_TIME
目前執行緒在 CPU 上花費的時間,以微微秒表示。
MAX_CONTROLLED_MEMORY
報告陳述式在執行期間使用的最大受控制記憶體量。
MAX_TOTAL_MEMORY
報告陳述式在執行期間使用的最大記憶體量。
EXECUTION_ENGINE
查詢執行引擎。此值為
PRIMARY
或SECONDARY
。適用於 HeatWave Service 和 HeatWave,其中PRIMARY
引擎是InnoDB
,而SECONDARY
引擎是 HeatWave (RAPID
)。對於 MySQL Community Edition Server、MySQL Enterprise Edition Server(內部部署)和不含 HeatWave 的 HeatWave Service,此值永遠是PRIMARY
。
events_statements_current
資料表具有以下索引
(
THREAD_ID
、EVENT_ID
)的主索引鍵
允許針對 events_statements_current
資料表執行TRUNCATE TABLE
。它會移除資料列。