该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_SCHEMA和
OBJECT_NAME列。不监视不匹配的对象。
默认对象配置的效果是检测除 、 和 数据库中的
mysql所有
INFORMATION_SCHEMA表
performance_schema。(INFORMATION_SCHEMA无论 的内容如何,都不会检测数据库中的
表setup_objects;该行
information_schema.%只是明确显示了此默认值。)
当 Performance Schema 检查中的匹配项时
setup_objects,它会首先尝试找到更具体的匹配项。例如,对于一个表
db1.t1,它先查找 and 的匹配项
'db1','t1'然后查找
'db1'and的匹配项,'%'然后
查找'%'and的匹配项'%'。匹配发生的顺序很重要,因为不同的匹配
setup_objects行可以有不同ENABLED的
TIMED值。
对表具有或
权限setup_objects的用户
可以插入或删除行
。对于现有的行,具有表权限
的用户只能修改和
列。INSERTDELETEENABLEDTIMEDUPDATE
有关
setup_objects表在事件过滤中的作用的更多信息,请参阅
第 25.4.3 节,“事件预过滤”。
该setup_objects表有以下列:
OBJECT_TYPE要检测的对象的类型。该值是
'EVENT'(Event Scheduler event)、'FUNCTION'(stored function)、'PROCEDURE'(stored procedure)、'TABLE'(base table) 或'TRIGGER'(trigger) 之一。TABLE过滤会影响表 I/O 事件 (wait/io/table/sql/handlerinstrument) 和表锁定事件 (wait/lock/table/sql/handlerinstrument)。OBJECT_SCHEMA包含对象的架构。这应该是一个字面名称,或者
'%'表示“任何模式。”OBJECT_NAME检测对象的名称。这应该是一个字面名称,或者
'%'表示“任何对象。”ENABLED是否检测对象的事件。值为
YES或NO。此列可以修改。TIMED对象的事件是否定时。值为
YES或NO。此列可以修改。
TRUNCATE TABLE表是允许的setup_objects。它删除行。