29.12.14 性能模式系统变量表
MySQL服务器维护许多系统变量,这些变量指示它是如何配置的(参见第7.1.8节,“Server System Variables”)。系统变量信息可在这些性能模式表中找到:
-
global_variables
:全局系统变量。想要只获取全局值的应用程序应使用此表。 -
session_variables
:当前会话的系统变量。想要为其会话获取所有系统变量值的应用程序应使用此表。它包括会话变量及其会话的值,以及没有会话对应项的全局变量的值。 -
variables_by_thread
:每个活动会话的会话系统变量。想要为特定会话获取会话变量值的应用程序应使用此表。它只包含会话变量,通过线程ID标识。 -
persisted_variables
:提供了一个SQL接口来访问存储持久化全局系统变量设置的mysqld-auto.cnf
文件。参见第29.12.14.1节,“性能模式 persisted_variables 表”。 -
variables_info
:对于每个系统变量,显示了它最近是如何设置的,以及其值的范围。参见第29.12.14.2节,“性能模式 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_thread_instances_lost
状态变量大于零。
对性能模式系统变量表格执行TRUNCATE TABLE
操作是不支持的。