性能模式使状态变量信息在 第 27.12.15 节,“性能模式状态变量表”中描述的表中可用。它还使汇总的状态变量信息在此处描述的汇总表中可用。每个状态变量汇总表都有一个或多个分组列来指示该表如何聚合状态值:
status_by_account
有USER
、HOST
和VARIABLE_NAME
列来按账户汇总状态变量。status_by_host
有HOST
和VARIABLE_NAME
列来按客户端连接的主机汇总状态变量。status_by_user
有USER
和VARIABLE_NAME
列来按客户端用户名汇总状态变量。
每个状态变量汇总表都有包含聚合值的汇总列:
VARIABLE_VALUE
活动和终止会话的聚合状态变量值。
状态变量汇总表具有以下索引:
-
USER
( ,HOST
,VARIABLE_NAME
) 上的主键
-
HOST
( ,VARIABLE_NAME
) 上的主键
-
USER
( ,VARIABLE_NAME
) 上的主键
这些表中“帐户”
的含义类似于
mysql
系统数据库中 MySQL 授权表中的含义,因为该术语指的是用户和主机值的组合。它们的不同之处在于,对于授权表,帐户的主机部分可以是模式,而对于性能模式表,主机值始终是特定的非模式主机名。
会话终止时收集帐户状态。会话状态计数器添加到全局状态计数器和相应的帐户状态计数器。如果不收集帐户统计信息,如果收集了主机和用户状态,则将会话状态添加到主机和用户状态。
performance_schema_accounts_size
如果、
performance_schema_hosts_size
和
performance_schema_users_size
系统变量分别设置为 0,
则不会收集帐户、主机和用户统计信息
。
性能模式支持TRUNCATE
TABLE
如下状态变量汇总表;在所有情况下,活动会话的状态不受影响:
status_by_account
:将已终止会话的帐户状态汇总到用户和主机状态,然后重置帐户状态。status_by_host
:重置已终止会话的聚合主机状态。status_by_user
:重置已终止会话的聚合用户状态。
FLUSH STATUS
将所有活动会话的会话状态添加到全局状态变量,重置所有活动会话的状态,并重置从断开连接的会话聚合的帐户、主机和用户状态值。