文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 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 參考手冊  /  ...  /  Performance Schema 狀態變數表

29.12.15 Performance Schema 狀態變數表

MySQL 伺服器維護許多狀態變數,提供關於其運作的資訊 (請參閱章節 7.1.10,「伺服器狀態變數」)。狀態變數資訊可在這些 Performance Schema 資料表中取得

  • global_status:全域狀態變數。只想取得全域數值的應用程式應使用此資料表。

  • session_status:目前工作階段的狀態變數。想要取得自身工作階段的所有狀態變數值的應用程式應使用此資料表。它包含其工作階段的工作階段變數,以及沒有工作階段對應項的全域變數的值。

  • status_by_thread:每個作用中工作階段的工作階段狀態變數。想要了解特定工作階段的工作階段變數值的應用程式應使用此資料表。它僅包含工作階段變數,並以執行緒 ID 識別。

還有提供依帳戶、主機名稱與使用者名稱彙總狀態變數資訊的摘要資料表。請參閱章節 29.12.20.12,「狀態變數摘要資料表」

工作階段變數資料表 (session_statusstatus_by_thread) 僅包含作用中工作階段的資訊,不包含已終止的工作階段。

Performance Schema 僅針對 threads 資料表中 INSTRUMENTED 值為 YES 的執行緒,收集全域狀態變數的統計資訊。無論 INSTRUMENTED 值為何,都會一律收集工作階段狀態變數的統計資訊。

效能架構(Performance Schema)不會在狀態變數表格中收集 Com_xxx 狀態變數的統計資料。若要取得全域和每個工作階段的陳述式執行計數,請分別使用 events_statements_summary_global_by_event_nameevents_statements_summary_by_thread_by_event_name 表格。例如:

SELECT EVENT_NAME, COUNT_STAR
FROM performance_schema.events_statements_summary_global_by_event_name
WHERE EVENT_NAME LIKE 'statement/sql/%';

global_statussession_status 表格具有以下欄位:

  • VARIABLE_NAME

    狀態變數名稱。

  • VARIABLE_VALUE

    狀態變數值。對於 global_status,此欄包含全域值。對於 session_status,此欄包含目前工作階段的變數值。

global_statussession_status 表格具有以下索引:

  • 以 (VARIABLE_NAME) 為主鍵

status_by_thread 表格包含每個活動執行緒的狀態。它具有以下欄位:

  • THREAD_ID

    定義狀態變數的工作階段的執行緒識別碼。

  • VARIABLE_NAME

    狀態變數名稱。

  • VARIABLE_VALUE

    THREAD_ID 欄位指定的工作階段的工作階段變數值。

status_by_thread 表格具有以下索引:

  • 以 (THREAD_ID, VARIABLE_NAME) 為主鍵

status_by_thread 表格僅包含前景執行緒的狀態變數資訊。如果 performance_schema_max_thread_instances 系統變數未自動縮放(以 -1 的值表示),且工具化執行緒物件的最大允許數量不超過背景執行緒的數量,則表格為空。

效能架構支援對狀態變數表格執行 TRUNCATE TABLE,如下所示:

FLUSH STATUS 將所有活動工作階段的工作階段狀態新增至全域狀態變數,重設所有活動工作階段的狀態,並重設從已中斷連線工作階段匯總的帳戶、主機和使用者狀態值。