Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

29.4.3 事件预过滤

性能模式执行预过滤,并且对所有用户都有全局影响。预过滤可以应用于事件处理的生产者或消费者阶段:

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

    • setup_instruments 指示哪些仪器可用。如果在该表中禁用了某个仪器,那么无论其他生产相关的设置表中的内容如何,该仪器都不会产生事件。该表中的仪器启用后,事件的产生将取决于其他表的内容。

    • setup_objects 控制性能模式是否监控特定的表和存储程序对象。

    • threads 指示服务器线程的监控状态。

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

  • 要在消费者阶段配置预过滤,修改 setup_consumers 表。这将确定事件的目标。如果某个事件不被发送到任何目标(即从不被消费),性能模式将不生成该事件。setup_consumers 也隐式地影响事件的生成。

对这些表的任何修改都会立即影响监控,除非修改 setup_actors 表,该修改仅影响后续创建的前台线程,而不影响现有的线程。

当您更改监控配置时,性能模式不会刷新历史表。已经收集的事件将保留在当前事件和历史表中,直到被新的事件所取代。如果您禁用了仪器,可能需要等待一段时间,以便事件被新的事件所取代。或者,您可以使用 TRUNCATE TABLE 语句来清空历史表。

在进行仪器更改后,您可能需要截断汇总表。通常,这将重置汇总列为 0 或 NULL,而不是删除行。这使您可以清除已收集的值并重新开始聚合。这可能在您进行了运行时配置更改后非常有用。个别汇总表的截断行为除外。

以下部分将描述如何使用特定的表来控制性能模式的预过滤。