文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式 Letter) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  events_statements_current 資料表

29.12.6.1 events_statements_current 資料表

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

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

如需關於三個 events_statements_xxx 事件資料表之間關係的更多資訊,請參閱 第 29.9 節,「效能架構目前與歷史事件資料表」

如需關於設定是否收集陳述式事件的資訊,請參閱 第 29.12.6 節,「效能架構陳述式事件資料表」

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 資料行中「為每個記錄檢查範圍」值的說明。

  • 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_IDEVENT_ID)的主索引鍵

允許針對 events_statements_current 資料表執行TRUNCATE TABLE。它會移除資料列。