Performance Schema 在 第 29.12.15 节,“Performance Schema 状态变量表” 中描述的表中提供状态变量信息。它还提供汇总表中的聚合状态变量信息,这里描述了这些汇总表。每个状态变量汇总表都具有一个或多个分组列来指示表如何聚合状态值
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 表,主机值始终是特定非模式主机名。
当会话终止时,会收集帐户状态。会话状态计数器会添加到全局状态计数器和相应的帐户状态计数器。如果未收集帐户统计信息,则会话状态将添加到主机和用户状态(如果收集主机和用户状态)。
如果分别将系统变量 performance_schema_accounts_size
、performance_schema_hosts_size
和 performance_schema_users_size
设置为 0,则不会收集帐户、主机和用户统计信息。
Performance Schema 支持以下状态变量汇总表的 TRUNCATE TABLE
;在所有情况下,活动会话的状态都不会受到影响
status_by_account
: 将终止会话的帐户状态聚合到用户和主机状态,然后重置帐户状态。status_by_host
: 重置终止会话的聚合主机状态。status_by_user
: 重置终止会话的聚合用户状态。
FLUSH STATUS
将所有活动会话的会话状态添加到全局状态变量,重置所有活动会话的状态,并重置从断开连接的会话聚合的帐户、主机和用户状态值。