文档主页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (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 预过滤。