• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 性能架构状态变量表

    MySQL服务器维护着许多状态变量,这些变量提供有关其操作的信息(请参见“服务器状态变量”)。这些性能模式表中提供了状态变量信息:

    • global_status:全局状态变量。仅需要全局值的应用程序应使用此表。
    • session_status:当前会话的状态变量。希望为其会话使用所有状态变量值的应用程序应使用此表。它包括其会话的会话变量,以及没有会话对应项的全局变量的值。
    • status_by_thread:每个活动会话的会话状态变量。想要了解特定会话的会话变量值的应用程序应使用此表。它仅包含会话变量,由线程ID标识。

    也有摘要表,这些表提供了按帐户,主机名和用户名聚合的状态变量信息。请参见“状态变量汇总表”。

    会话变量表(session_statusstatus_by_thread)包含信息仅针对活动会话,没有终止会话。

    性能架构收集全局的状态变量的统计数据只适合线程INSTRUMENTEDYESthreads表中。无论INSTRUMENTED值如何,始终会收集会话状态变量的统计信息。

    性能架构不收集状态变量表中状态变量的统计信息。要获取全局和每个会话语句的执行计数,请分别使用和表。例如:Com_xxxevents_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_statussession_status表有这些列:

    • VARIABLE_NAME

      状态变量名称。

    • VARIABLE_VALUE

      状态变量值。对于global_status,此列包含全局值。对于session_status,此列包含当前会话的变量值。

    global_statussession_status表有这些索引:

    • VARIABLE_NAME)上的主键

    status_by_thread表包含每个活动线程的状态。它具有以下列:

    • THREAD_ID

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

    • VARIABLE_NAME

      状态变量名称。

    • VARIABLE_VALUE

      THREAD_ID列命名的会话的会话变量值。

    status_by_thread表具有以下索引:

    • THREAD_IDVARIABLE_NAME)上的主键

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

    性能模式支持TRUNCATE TABLE状态变量表,如下所示:

    • global_status:重置线程,帐户,主机和用户状态。重置全局状态变量,但服务器永不重置的变量除外。
    • session_status:不支持。
    • status_by_thread:将所有线程的状态汇总为全局状态和帐户状态,然后重置线程状态。如果未收集帐户统计信息,则如果收集了主机和用户状态,则将会话状态添加到主机和用户状态。

      如果帐户,主机和用户的统计数据没有收集performance_schema_accounts_sizeperformance_schema_hosts_sizeperformance_schema_users_size系统变量,分别被设置为0。

    FLUSH STATUS将所有活动会话的会话状态添加到全局状态变量,重置所有活动会话的状态,以及重置断开连接的会话聚合的帐户,主机和用户状态值。