文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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 数据库中的表。(无论 setup_objects 的内容如何,INFORMATION_SCHEMA 数据库中的表都不会被检测;information_schema.% 的行只是使此默认设置明确。)

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

用户可以对 setup_objects 插入或删除行,他们对该表具有 INSERTDELETE 权限。对于现有行,只有 ENABLEDTIMED 列可以修改,修改者需要对该表具有 UPDATE 权限。

有关 setup_objects 表在事件过滤中的作用的更多信息,请参见 第 29.4.3 节,“事件预过滤”

setup_objects 表包含以下列

  • OBJECT_TYPE

    要检测的对象类型。该值为 'EVENT'(事件调度程序事件)、'FUNCTION'(存储函数)、'PROCEDURE'(存储过程)、'TABLE'(基本表)或 'TRIGGER'(触发器)之一。

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

  • OBJECT_SCHEMA

    包含该对象的架构。这应该是文字名称,或 '%' 代表 任何架构。

  • OBJECT_NAME

    要检测对象的名称。这应该是文字名称,或 '%' 代表 任何对象。

  • ENABLED

    是否为对象启用事件。值为 YESNO。此列可以修改。

  • 计时

    是否为对象计时。此列可以修改。

setup_objects 表包含以下索引

  • 基于 (OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME) 的索引

TRUNCATE TABLE 允许用于 setup_objects 表。它将删除行。