10bet网址
MySQL 8.0参考手册
相关文件10bet官方网站 下载本手册 本手册摘录

27.4.6通过线程预过滤

线程表包含每个服务器线程的行。每行包含有关线程的信息,并指示是否启用了监视。对于监视线程的性能架构,这些东西必须是真的:

  • thread_instrumentation消费者在setup_consumers.表必须是是的

  • 线程。仪器列必须是的

  • 监视仅发生从启用的仪器生产的那些线程事件发生setup_instruments.表格

线程表还指示每个服务器线程是否执行历史事件日志记录。这包括等待、阶段、语句和事务事件以及影响到这些表的日志:

Events_waits_history events_waits_history_long events_stages_history events_stages_history_long events_statements_history events_transactions_history events_transactions_history_long events_transactions_history_long events_statements_history events_transactions_history events_transactions_history_long

要想记录历史事件,必须满足以下条件:

对于前台线程(由客户机连接产生),初始值仪器历史线程表的行由与线程关联的用户帐户是否与setup_actors表格值来自启用历史匹配的列setup_actors表行。

对于后台线程,没有关联的用户。仪器历史是的默认情况下,setup_actors没有咨询。

最初的setup_actors内容如下所示:

mysql> SELECT * FROM table_schema .setup_actors;+------+------+------+---------+---------+ | 主机用户| | | |启用历史作用  | +------+------+------+---------+---------+ | % | % | % | 是的|是的  | +------+------+------+---------+---------+

主持人用户列应该包含主机名或用户名,或者“%”匹配任何名称。

启用历史列指示是否为匹配的线程启用检测和历史事件日志记录,这取决于前面描述的其他条件。

当Performance Schema检查每个新的前台线程是否匹配时setup_actors,它首先尝试查找更具体的匹配项,使用用户主持人列 (角色是未使用的):

  • 用户='文字'host ='文字'

  • 用户='文字'主机= ' % '

  • 用户='%'host ='文字'

  • 用户='%'主机= ' % '

匹配发生的顺序是事项,因为不同的匹配setup_actors行可能有不同的用户主持人值。这使得可以根据主机、用户或帐户(用户和主机组合),选择性地应用检测和历史事件日志启用历史列值:

  • 当最好的匹配是一排启用= YES, 这仪器线程的价值变为是的.当最好的匹配是一排历史= YES, 这历史线程的价值变为是的

  • 当最好的匹配是一排启用=没有, 这仪器线程的价值变为.当最好的匹配是一排历史=否, 这历史线程的价值变为

  • 没有找到匹配项时,仪器历史线程的值变成

启用历史setup_actors行可以设置为是的彼此独立的。这意味着您可以独立于是否收集历史事件来启用插装。

默认情况下,所有新的前景线程都会启用监视和历史事件集合,因为setup_actors表最初包含一行“%”对彼此而言主持人用户.要执行更有限的匹配(比如只对某些前台线程启用监视),必须更改这一行,因为它匹配任何连接,并添加更具体的行主持人/用户组合。

假设你修改了setup_actors如下:

更新performency_schema.setup_actors设置为启用='否',历史记录='否'其中host ='%'和user ='%';插入performance_schema.setup_actors(主机,用户,角色,启用,历史记录)值('localhost','joe','%','是','是');插入performance_schema.setup_actors(主机,用户,角色,启用,历史记录)值('hosta.example.com','joe','%','是','否');插入perficity_schema.setup_actors(主机,用户,角色,启用,历史记录)值('%','sam','%','否','是');

更新语句更改默认匹配以禁用检测和历史事件收集。这插入语句为更具体的匹配添加行。

现在性能模式确定了如何设置的仪器历史新连接线程的值如下:

  • 如果从本地主机连接,连接与插入的第一行匹配。这仪器历史线程的值变成是的

  • 如果连接从hosta.example.com,则连接与插入的第二行匹配。这仪器线程的价值变为是的历史价值成为

  • 如果从任何其他主机连接,没有匹配。这仪器历史线程的值变成

  • 如果山姆从任何主机连接,连接与插入的第三行匹配。这仪器线程的价值变为历史价值成为是的

  • 对于任何其他连接,使用主持人用户调成“%”匹配。这一行现在有启用历史调成,所以仪器历史线程的值变成

修改setup_actors表只影响修改后后续创建的前景线程,而不是现有线程。要影响现有线程,请修改仪器历史线程表行。