MySQL 8.3 Release Notes
性能模式执行预过滤,并且对所有用户都有全局影响。预过滤可以应用于事件处理的生产者或消费者阶段:
-
要在生产者阶段配置预过滤,可以使用以下几个表:
-
setup_instruments
指示哪些仪器可用。如果在该表中禁用了某个仪器,那么无论其他生产相关的设置表中的内容如何,该仪器都不会产生事件。该表中的仪器启用后,事件的产生将取决于其他表的内容。 -
setup_objects
控制性能模式是否监控特定的表和存储程序对象。 -
threads
指示服务器线程的监控状态。 -
setup_actors
确定新前台线程的初始监控状态。
-
-
要在消费者阶段配置预过滤,修改
setup_consumers
表。这将确定事件的目标。如果某个事件不被发送到任何目标(即从不被消费),性能模式将不生成该事件。setup_consumers
也隐式地影响事件的生成。
对这些表的任何修改都会立即影响监控,除非修改 setup_actors
表,该修改仅影响后续创建的前台线程,而不影响现有的线程。
当您更改监控配置时,性能模式不会刷新历史表。已经收集的事件将保留在当前事件和历史表中,直到被新的事件所取代。如果您禁用了仪器,可能需要等待一段时间,以便事件被新的事件所取代。或者,您可以使用 TRUNCATE TABLE
语句来清空历史表。
在进行仪器更改后,您可能需要截断汇总表。通常,这将重置汇总列为 0 或 NULL
,而不是删除行。这使您可以清除已收集的值并重新开始聚合。这可能在您进行了运行时配置更改后非常有用。个别汇总表的截断行为除外。
以下部分将描述如何使用特定的表来控制性能模式的预过滤。