25.12.2.4 setup_objectstable

setup_objectstable 控制性能模式是否监视特定对象。默认情况下,此 table 的最大大小为 100 行。要更改 table 大小,请在服务器启动时修改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_objectstable 的修改会立即影响对象监视。

对于setup_objects中列出的对象类型,性能模式使用该 table 来监视它们。对象匹配基于OBJECT_SCHEMAOBJECT_NAME列。不匹配的对象将不会受到监视。

默认对象配置的结果是检测所有 table,但mysqlINFORMATION_SCHEMAperformance_schema数据库中的 table 除外。 (无论setup_objects的内容如何,都不会检测INFORMATION_SCHEMA数据库中的 table; information_schema.%的行仅使此默认值明确。)

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

具有 tableINSERTDELETE特权的用户可以将行插入setup_objects或从中删除。对于现有行,具有UPDATE特权的用户只能修改ENABLEDTIMED列。

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

setup_objectstable 具有以下列:

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

TABLE过滤会影响 tableI/O 事件(wait/io/table/sql/handler工具)和 table 锁定事件(wait/lock/table/sql/handler工具)。

包含对象的架构。该名称应为 Literals 名称,或'%'table 示“任何模式”。

被检测对象的名称。这应该是 Literals 名称,或'%'table 示“任何对象”。

是否检测对象的事件。该值为YESNO。可以修改此列。

对象的事件是否定时。该值为YESNO。可以修改此列。

setup_objectstable 允许TRUNCATE TABLE。它删除行。

首页