MySQL 服务器维护许多提供有关其操作信息的状态变量(请参阅 第 5.1.10 节,“服务器状态变量”)。这些性能模式表中提供了状态变量信息:
global_status
:全局状态变量。只需要全局值的应用程序应该使用此表。session_status
:当前会话的状态变量。需要其自己的会话的所有状态变量值的应用程序应使用此表。它包括其会话的会话变量,以及没有会话对应项的全局变量的值。status_by_thread
:每个活动会话的会话状态变量。想要了解特定会话的会话变量值的应用程序应该使用此表。它仅包含会话变量,由线程 ID 标识。
还有汇总表提供按帐户、主机名和用户名聚合的状态变量信息。请参阅 第 27.12.20.12 节,“状态变量汇总表”。
会话变量表 ( session_status
,
status_by_thread
) 仅包含活动会话的信息,不包含终止会话的信息。
INSTRUMENTED
性能模式仅为值YES
在threads
表中
的线程收集全局状态变量的统计信息
。始终收集会话状态变量的统计信息,无论其INSTRUMENTED
值如何。
Performance Schema 不收集
状态变量表中状态变量的统计信息。要获取全局和每会话语句执行计数,请分别使用
和
表。例如:
Com_
xxx
events_statements_summary_global_by_event_name
events_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_status
和
session_status
表有以下列
:
VARIABLE_NAME
状态变量名称。
VARIABLE_VALUE
状态变量值。对于
global_status
,此列包含全局值。对于session_status
,此列包含当前会话的变量值。
global_status
和
表具有
以下session_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
状态变量表如下:
global_status
:重置线程、帐户、主机和用户状态。重置全局状态变量,服务器从不重置的变量除外。session_status
: 不支持。status_by_thread
:将所有线程的状态聚合到全局状态和帐户状态,然后重置线程状态。如果不收集帐户统计信息,如果收集了主机和用户状态,则将会话状态添加到主机和用户状态。performance_schema_accounts_size
如果、performance_schema_hosts_size
和performance_schema_users_size
系统变量分别设置为 0, 则不会收集帐户、主机和用户统计信息 。
FLUSH STATUS
将所有活动会话的会话状态添加到全局状态变量,重置所有活动会话的状态,并重置从断开连接的会话聚合的帐户、主机和用户状态值。