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操作是不支持的。