events_statements_current
表格包含目前的陳述式事件。此表格每個執行緒儲存一列,顯示該執行緒最近監控的陳述式事件的目前狀態,因此沒有系統變數可設定表格大小。
在包含陳述式事件列的表格中,events_statements_current
是最基本的。其他包含陳述式事件列的表格在邏輯上是從目前的事件衍生而來。例如,events_statements_history
和 events_statements_history_long
表格分別是最近結束的陳述式事件的集合,每個執行緒和全域跨所有執行緒的最大列數。
如需關於三個 events_statements_
事件表格之間關係的詳細資訊,請參閱 第 29.9 節「Performance Schema 用於目前和歷史事件的表格」。xxx
如需關於是否收集陳述式事件的設定資訊,請參閱 第 29.12.6 節「Performance Schema 陳述式事件表格」。
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
欄中Range checked for each record
值的描述。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
。它會移除資料列。