文件首頁
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


MySQL 8.4 參考手冊  /  ...  /  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 表示),且允許的最大檢測執行緒物件數量不大於背景執行緒數量,則此資料表為空。

Performance Schema 支援對狀態變數資料表使用 TRUNCATE TABLE,如下所示:

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