10bet网址
MySQL性能模式
相关的文档10bet官方网站 下载此节选

10.8性能模式连接表

当客户端连接到MySQL服务器时,它是在一个特定的用户名下从一个特定的主机上连接的。性能模式提供了关于这些连接的统计数据,跟踪每个帐户(用户和主机组合),以及分别跟踪每个用户名和主机名,使用这些表:

  • 账户:每个客户端帐户的连接统计信息

  • 主机:每个客户端主机名的连接数统计

  • 用户:每个客户端用户名的连接数统计

的意义账户在连接表中的含义类似于在MySQL授予表中的含义mysql系统数据库,在某种意义上,该术语指的是用户值和主机值的组合。它们的不同之处在于,对于授权表,帐户的主机部分可以是一个模式,而对于性能模式表,主机值总是一个特定的非模式主机名。

每个连接表具有CURRENT_CONNECTIONS而且TOTAL_CONNECTIONS列来跟踪每个连接的当前和总数跟踪价值这是它的统计数据的基础。这些表的不同之处在于它们用于跟踪值的内容。的账户表有用户而且宿主列用于跟踪每个用户和主机组合的连接。的用户而且主机表有一个用户而且宿主列,分别跟踪每个用户名和主机名的连接。

性能模式还使用的行对身份验证失败的用户会话的内部线程和线程进行计数用户而且宿主的列值

假设客户机命名为user1而且user2每个连接一次从玉簪属草本植物而且hostb.性能模式以如下方式跟踪连接:

  • 账户表有四行,用于user1/玉簪属草本植物user1/hostbuser2/玉簪属草本植物,user2/hostb帐户值,每行计算每个帐户的一个连接。

  • 主机表有两行,用于玉簪属草本植物而且hostb,每一行计算每个主机名的两个连接。

  • 用户表有两行,用于user1而且user2,每一行计算每个用户名的两个连接。

当客户端连接时,Performance Schema使用适用于每个表的跟踪值确定应用每个连接表中的哪一行。如果没有这样的行,则添加一行。然后性能模式增加一个CURRENT_CONNECTIONS而且TOTAL_CONNECTIONS行中的列。

当客户端断开连接时,性能模式减少一个CURRENT_CONNECTIONS列,并离开TOTAL_CONNECTIONS列不变。

截断表允许连接表。它有以下影响:

  • 删除当前没有连接的帐户、主机或用户的行Current_connections = 0).

  • 未移除的行将被重置为仅计算当前连接Current_connections > 0TOTAL_CONNECTIONS重置为CURRENT_CONNECTIONS

  • 依赖于连接表的汇总表将隐式截断,如本节后面所述。

性能模式维护汇总表,这些汇总表按帐户、主机或用户聚合各种事件类型的连接统计信息。这些表格有_summary_by_account_summary_by_host,或_summary_by_user在名字上。要识别它们,使用以下查询:

SELECT TABLE_NAME FROM INFORMATION_SCHEMAWHERE TABLE_SCHEMA = 'performance_schema' AND TABLE_NAME REGEXP '_summary_by_(帐户|主机|用户)' ORDER BY TABLE_NAME;+------------------------------------------------------+ | TABLE_NAME  | +------------------------------------------------------+ | events_errors_summary_by_account_by_error | | events_errors_summary_by_host_by_error | | events_errors_summary_by_user_by_error | | events_stages_summary_by_account_by_event_name | | events_stages_summary_by_host_by_event_name | | events_stages_summary_by_user_by_event_name | | events_statements_summary_by_account_by_event_name | |events_statements_summary_by_host_by_event_name | | events_statements_summary_by_user_by_event_name | | events_transactions_summary_by_account_by_event_name | | events_transactions_summary_by_host_by_event_name | | events_transactions_summary_by_user_by_event_name | | events_waits_summary_by_account_by_event_name | | events_waits_summary_by_host_by_event_name | | events_waits_summary_by_user_by_event_name | | memory_summary_by_account_by_event_name | | memory_summary_by_host_by_event_name | |memory_summary_by_user_by_event_name  | +------------------------------------------------------+

有关各个连接汇总表的详细信息,请参阅描述汇总表事件类型的部分:

截断表允许用于连接汇总表。它删除没有连接的帐户、主机或用户的行,并将其余行的摘要列重置为零。此外,由帐户、主机、用户或线程聚合的每个汇总表将通过截断它所依赖的连接表隐式地截断。下表描述了连接表截断和隐式截断表之间的关系。

表10.2连接表截断的隐含影响

截断连接表 隐式截断汇总表
账户 表的名称包含_summary_by_account_summary_by_thread
主机 表的名称包含_summary_by_account_summary_by_host_summary_by_thread
用户 表的名称包含_summary_by_account_summary_by_user_summary_by_thread

删除一个_summary_global汇总表还隐式截断其对应的连接和线程汇总表。例如,截断events_waits_summary_global_by_event_name隐式截断按帐户、主机、用户或线程聚合的等待事件汇总表。