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.12.2.4 setup_objects 表

性能模式的 setup_objects 表控制性能模式是否监控特定对象。该表的默认大小为 100 行。要更改表大小,请在服务器启动时修改 performance_schema_setup_objects_size 系统变量。

初始 setup_objects 内容如下所示:

mysql> SELECT * FROM performance_schema.setup_objects;
+-------------+--------------------+-------------+---------+-------+
| OBJECT_TYPE | OBJECT_SCHEMA      | OBJECT_NAME | ENABLED | TIMED |
+-------------+--------------------+-------------+---------+-------+
| EVENT       | mysql              | %           | NO      | NO    |
| EVENT       | performance_schema | %           | NO      | NO    |
| EVENT       | information_schema | %           | NO      | NO    |
| EVENT       | %                  | %           | YES     | YES   |
| FUNCTION    | mysql              | %           | NO      | NO    |
| FUNCTION    | performance_schema | %           | NO      | NO    |
| FUNCTION    | information_schema | %           | NO      | NO    |
| FUNCTION    | %                  | %           | YES     | YES   |
| PROCEDURE   | mysql              | %           | NO      | NO    |
| PROCEDURE   | performance_schema | %           | NO      | NO    |
| PROCEDURE   | information_schema | %           | NO      | NO    |
| PROCEDURE   | %                  | %           | YES     | YES   |
| TABLE       | mysql              | %           | NO      | NO    |
| TABLE       | performance_schema | %           | NO      | NO    |
| TABLE       | information_schema | %           | NO      | NO    |
| TABLE       | %                  | %           | YES     | YES   |
| TRIGGER     | mysql              | %           | NO      | NO    |
| TRIGGER     | performance_schema | %           | NO      | NO    |
| TRIGGER     | information_schema | %           | NO      | NO    |
| TRIGGER     | %                  | %           | YES     | YES   |
+-------------+--------------------+-------------+---------+-------+

setup_objects 表的修改将立即影响对象监控。

对于 setup_objects 表中列出的对象类型,性能模式使用该表来确定如何监控它们。对象匹配基于 OBJECT_SCHEMAOBJECT_NAME 列。没有匹配的对象将不被监控。

默认对象配置的效果是监控所有表,除了 mysqlINFORMATION_SCHEMAperformance_schema 数据库中的表。(INFORMATION_SCHEMA 数据库中的表不管 setup_objects 的内容如何,都不会被监控;information_schema.% 行只是使默认配置变得明确。)

当性能模式在 setup_objects 表中查找匹配时,它会首先尝试找到更具体的匹配。例如,对于表 db1.t1,它会查找 'db1''t1' 的匹配,然后查找 'db1''%' 的匹配,最后查找 '%''%' 的匹配。匹配顺序很重要,因为不同的匹配 setup_objects 行可以具有不同的 ENABLEDTIMED 值。

用户可以使用 INSERTDELETE 权限在 setup_objects 表中插入或删除行。对于现有的行,只有 ENABLEDTIMED 列可以被修改,需要 UPDATE 权限。

有关 setup_objects 表在事件过滤中的角色,请参阅 第 29.4.3 节,“事件预过滤”

setup_objects 表具有以下列:

  • OBJECT_TYPE

    要监控的对象类型。该值可以是 'EVENT'(事件计划事件)、'FUNCTION'(存储函数)、'PROCEDURE'(存储过程)、'TABLE'(基本表)或 'TRIGGER'(触发器)。

    TABLE filtering affects table I/O events (wait/io/table/sql/handler instrument) and table lock events (wait/lock/table/sql/handler instrument).

  • OBJECT_SCHEMA

    对象所在的模式。该值应该是一个文字名称,或者 '%',表示“任何模式”。

  • OBJECT_NAME

    要监控的对象名称。该值应该是一个文字名称,或者 '%',表示“任何对象”。

  • ENABLED

    对象的事件是否被instrumented。该值为 YESNO。该列可以被修改。

  • TIMED

    对象的事件是否被计时。这一列可以被修改。

setup_objects 表具有以下索引:

  • 索引 on (OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME)

TRUNCATE TABLEsetup_objects 表上是允许的。它将删除行。