MySQL 伺服器維護許多系統變數,這些變數指示其設定方式(請參閱第 7.1.8 節,「伺服器系統變數」)。系統變數資訊可在這些 Performance Schema 表格中取得
global_variables
:全域系統變數。僅想要全域值的應用程式應該使用此表格。session_variables
:目前工作階段的系統變數。想要其自身工作階段的所有系統變數值的應用程式應該使用此表格。它包含其工作階段的工作階段變數,以及沒有工作階段對應項的全域變數值。variables_by_thread
:每個活動工作階段的工作階段系統變數。想要知道特定工作階段的工作階段變數值的應用程式應該使用此表格。它僅包含工作階段變數,並以執行緒 ID 識別。persisted_variables
:提供mysqld-auto.cnf
檔案的 SQL 介面,該檔案儲存持續的全域系統變數設定。請參閱第 29.12.14.1 節,「Performance Schema persisted_variables 表格」。variables_info
:針對每個系統變數,顯示其最近設定的來源及其值範圍。請參閱第 29.12.14.2 節,「Performance Schema variables_info 表格」。
需要 SENSITIVE_VARIABLES_OBSERVER
權限才能檢視這些表格中敏感系統變數的值。
工作階段變數表(session_variables
、variables_by_thread
)僅包含作用中工作階段的資訊,不包含已終止的工作階段。
global_variables
和 session_variables
表格具有以下欄位:
VARIABLE_NAME
系統變數名稱。
VARIABLE_VALUE
系統變數值。對於
global_variables
,此欄包含全域值。對於session_variables
,此欄包含目前工作階段生效的變數值。
global_variables
和 session_variables
表格具有以下索引:
主鍵位於 (
VARIABLE_NAME
)
variables_by_thread
表格具有以下欄位:
THREAD_ID
定義系統變數的工作階段的執行緒識別符。
VARIABLE_NAME
系統變數名稱。
VARIABLE_VALUE
由
THREAD_ID
欄位指定的工作階段的工作階段變數值。
variables_by_thread
表格具有以下索引:
主鍵位於 (
THREAD_ID
,VARIABLE_NAME
)
variables_by_thread
表格僅包含有關前景執行緒的系統變數資訊。如果並非所有執行緒都由 Performance Schema 檢測,此表格會遺失某些列。在這種情況下,Performance_schema_thread_instances_lost
狀態變數會大於零。
Performance Schema 系統變數表不支援 TRUNCATE TABLE
。