Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Performance Schema Status Variable Tables

29.12.15 性能模式状态变量表

MySQL 服务器维护了许多状态变量,以提供其操作信息(见 第 7.1.10 节,“服务器状态变量”)。状态变量信息可在这些性能模式表中找到:

  • global_status:全局状态变量。想要仅获取全局值的应用程序应该使用该表。

  • session_status:当前会话的状态变量。想要获取所有状态变量值的应用程序应该使用该表。它包括会话变量,以及没有会话对应的全局变量值。

  • status_by_thread:每个活动会话的会话状态变量。想要知道特定会话的会话变量值的应用程序应该使用该表。它仅包括会话变量,按线程 ID 标识。

还有汇总表,提供按账户、主机名和用户名聚合的状态变量信息。见 第 29.12.20.12 节,“状态变量汇总表”

会话变量表 (session_status, status_by_thread) 仅包含活动会话的信息,不包含已终止的会话。

性能模式仅对 INSTRUMENTED 值为 YES 的线程收集全局状态变量统计信息,在 threads 表中。会话状态变量统计信息总是被收集的,不管 INSTRUMENTED 值如何。

性能模式不收集 Com_xxx 状态变量的统计信息在状态变量表中。要获取全局和每个会话的语句执行计数,请使用 events_statements_summary_global_by_event_nameevents_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)

  • The status_by_thread 表包含每个活动线程的状态。它具有这些列:

    THREAD_ID

  • 定义状态变量的会话的线程标识符。

    状态变量名称。

  • VARIABLE_VALUE

    会话变量值,用于会话名称由 THREAD_ID 列命名。

status_by_thread 表具有以下索引:

  • 主键在 (THREAD_ID, VARIABLE_NAME) 上

status_by_thread 表仅包含前台线程的状态变量信息。如果 performance_schema_max_thread_instances 系统变量未自动缩放(以 -1 为值)且允许的最大线程对象数不大于后台线程数,则该表为空。

性能模式支持 TRUNCATE TABLE 对状态变量表的操作如下:

FLUSH STATUS 将所有活动会话的会话状态添加到全局状态变量中,重置所有活动会话的状态,并重置从断开的会话中聚合的账户、主机和用户状态值。