INFORMATION_SCHEMA 具有包含系统和状态变量信息的表( GLOBAL_VARIABLES,SESSION_VARIABLES , GLOBAL_STATUS ,SESSION_STATUS )。 从 MySQL 5.7.6 开始,Performance Schema也包含系统和状态变量表。 Performance Schema 表旨在替换 INFORMATION_SCHEMA 表,后者从 MySQL 5.7.6 开始已弃用,并在 MySQL 8.0 中删除。在 MySQL 8.0 中,删除了 INFORMATION_SCHEMA 变量表和 show_compatibility_56 系统变量,并且 SHOW 语句的输出始终基于Performance Schema表。详见官网
在 MySQL 5.7.6 和 5.7.7 中,对于刚才描述的每个 SHOW 语句,当 show_compatibility_56=ON 时使用 WHERE 子句会产生警告,而当 show_compatibility_56=OFF 时会产生错误。 (这适用于未优化掉的 WHERE 子句。例如,WHERE 1 很简单,已被优化掉,因此不会产生警告或错误。)从 MySQL 5.7.8 开始,这种行为不会发生; 与 5.7.6 之前一样支持 WHERE。
简介:INFORMATION_SCHEMA 表(GLOBAL_VARIABLES、SESSION_VARIABLES、GLOBAL_STATUS 和 SESSION_STATUS)
OFF:
global_status:仅限全局状态变量。
session_status:对当前会话有效的状态变量:每个session变量占一行,每个没有session对应项的全局变量占一行。
status_by_account: 仅会话状态变量,按帐户聚合。
status_by_host:仅会话状态变量,按主机名聚合。
status_by_thread:仅限每个活动会话的会话状态变量。
status_by_user:仅会话状态变量,按用户名聚合。
Performance Schema 不会收集状态变量表中 Com_xxx 状态变量的统计信息。 要获取全局和每个会话语句执行计数,请分别使用 events_statements_summary_global_by_event_name 和 events_statements_summary_by_thread_by_event_name 表。
ON:与 OFF 相同的输出。 (在 5.7.9 之前,这些表不产生输出。)
Status Variable | Performance Schema Location |
---|---|
Slave_heartbeat_period | replication_connection_configuration table, HEARTBEAT_INTERVAL column |
Slave_last_heartbeat | replication_connection_status table, LAST_HEARTBEAT_TIMESTAMP column |
Slave_received_heartbeats | replication_connection_status table, COUNT_RECEIVED_HEARTBEATS column |
Slave_retried_transactions | replication_applier_status table, COUNT_TRANSACTIONS_RETRIES column |
Slave_running | replication_connection_status and replication_applier_status tables, SERVICE_STATE column |
ON:此语句产生 MySQL 5.6 行为。 它将当前线程的会话状态变量值添加到全局值并将会话值重置为零。 一些全局变量也可能重置为零。 它还将密钥缓存的计数器(默认和命名)重置为零,并将 Max_used_connections 设置为当前打开的连接数。
OFF:此语句将所有活动会话的会话状态添加到全局状态变量,重置所有活动会话的状态,并重置从断开连接的会话聚合的帐户、主机和用户状态值。