Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


29.12.2.4 设置对象表

setup_objects 表控制性能.schema是否监控特定对象。该表的默认大小为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中列出的对象类型,性能.schema使用该表来确定如何监控它们。对象匹配基于OBJECT_SCHEMAOBJECT_NAME列。没有匹配的对象不被监控。

默认对象配置的效果是对所有表进行instrumentation,除了mysqlINFORMATION_SCHEMAperformance_schema数据库中的表。 (INFORMATION_SCHEMA数据库中的表无论setup_objects中的内容如何都不会被instrumentation;setup_objects中的行information_schema.%只是使这个默认明确。)

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

可以通过用户具有INSERTDELETE权限的方式插入或删除setup_objects中的行。对于现有行,只有ENABLEDTIMED列可以被修改,需要用户具有UPDATE权限。

关于setup_objects表在事件过滤中的作用,详见第29.4.3节,“Event Pre-Filtering”.

setup_objects具有以下列:

  • OBJECT_TYPE

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

    TABLE过滤影响表I/O事件(wait/io/table/sql/handler instrument)和表锁事件(wait/lock/table/sql/handler instrument)。

  • OBJECT_SCHEMA

    包含对象的schema。这应该是一个字面名称,或者'%'以表示“任何schema”。

  • OBJECT_NAME

    instrumented对象的名称。这应该是一个字面名称,或者'%'以表示“任何对象”。

  • ENABLED

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

  • TIMED

    是否对对象instrument事件。该列可以被修改。

setup_objects具有以下索引:

  • 索引(OBJECT_TYPEOBJECT_SCHEMAOBJECT_NAME

TRUNCATE TABLE允许对表setup_objects进行TRUNCATE操作。它删除了行。