文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (美国信纸) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


29.4.3 事件预过滤

预过滤由 Performance Schema 完成,并具有应用于所有用户的全局效果。预过滤可以应用于事件处理的生产者阶段或消费者阶段。

  • 要在生产者阶段配置预过滤,可以使用几个表。

    • setup_instruments 指示哪些仪器可用。在此表中禁用的仪器不产生任何事件,无论其他与生产相关的设置表的内容如何。在此表中启用的仪器被允许产生事件,但需遵守其他表的内容。

    • setup_objects 控制 Performance Schema 是否监视特定表和存储过程对象。

    • threads 指示是否为每个服务器线程启用监控。

    • setup_actors 确定新前台线程的初始监控状态。

  • 要在消费者阶段配置预过滤,请修改 setup_consumers 表。这将确定将事件发送到的目标。 setup_consumers 也隐式地影响事件生产。如果给定事件没有发送到任何目标(即从未被消费),Performance Schema 不会产生该事件。

对这些表的任何修改都会立即影响监控,但修改 setup_actors 表只影响修改后创建的前台线程,不影响现有线程。

当您更改监控配置时,Performance Schema 不会刷新历史表。已收集的事件将保留在当前事件和历史表中,直到被更新的事件替换。如果您禁用仪器,您可能需要等待一段时间,直到它们的事件被更新的感兴趣事件替换。或者,使用 TRUNCATE TABLE清空历史表。

在进行仪器化更改后,您可能希望截断摘要表。通常,其效果是将摘要列重置为 0 或 NULL,而不是删除行。这使您能够清除收集的值并重新启动聚合。例如,在您进行运行时配置更改后,这可能很有用。个别摘要表部分中提到了这种截断行为的例外情况。

以下部分介绍如何使用特定表来控制 Performance Schema 预过滤。