文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


29.12.6.1 events_statements_current 表格

events_statements_current 表格包含目前的陳述式事件。此表格每個執行緒儲存一列,顯示該執行緒最近監控的陳述式事件的目前狀態,因此沒有系統變數可設定表格大小。

在包含陳述式事件列的表格中,events_statements_current 是最基本的。其他包含陳述式事件列的表格在邏輯上是從目前的事件衍生而來。例如,events_statements_historyevents_statements_history_long 表格分別是最近結束的陳述式事件的集合,每個執行緒和全域跨所有執行緒的最大列數。

如需關於三個 events_statements_xxx 事件表格之間關係的詳細資訊,請參閱 第 29.9 節「Performance Schema 用於目前和歷史事件的表格」

如需關於是否收集陳述式事件的設定資訊,請參閱 第 29.12.6 節「Performance Schema 陳述式事件表格」

events_statements_current 表格具有下列欄:

  • THREAD_IDEVENT_ID

    與事件相關聯的執行緒,以及事件開始時的執行緒當前事件編號。 THREAD_IDEVENT_ID 值組合在一起可唯一識別該列。沒有任何兩列具有相同的值對。

  • END_EVENT_ID

    此欄在事件開始時設定為 NULL,並在事件結束時更新為執行緒的當前事件編號。

  • EVENT_NAME

    收集事件的儀器名稱。這是 setup_instruments 表格中的 NAME 值。儀器名稱可能有多個部分,並形成一個階層,如第 29.6 節「效能結構描述儀器命名慣例」中所述。

    對於 SQL 語句,EVENT_NAME 值最初是 statement/com/Query,直到語句被剖析,然後更改為更合適的值,如第 29.12.6 節「效能結構描述語句事件表」中所述。

  • SOURCE

    包含產生事件的檢測程式碼的原始檔名稱,以及檔案中發生檢測的行號。這讓您可以檢查原始碼,以準確判斷涉及的程式碼。

  • TIMER_STARTTIMER_ENDTIMER_WAIT

    事件的計時資訊。這些值的單位是皮秒(萬億分之一秒)。 TIMER_STARTTIMER_END 值指示事件計時開始和結束的時間。 TIMER_WAIT 是事件經過的時間(持續時間)。

    如果事件尚未完成,TIMER_END 是當前計時器值,而 TIMER_WAIT 是到目前為止經過的時間(TIMER_ENDTIMER_START)。

    如果事件是由 TIMED = NO 的儀器產生,則不會收集計時資訊,並且 TIMER_STARTTIMER_ENDTIMER_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_SCHEMAOBJECT_NAMEOBJECT_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_IDNESTING_EVENT_TYPENESTING_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

    查詢執行引擎。該值是 PRIMARYSECONDARY。適用於 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。它會移除資料列。