的setup_objects.
表控制Performance Schema是否监视特定的表和存储的程序对象。最初的setup_objects.
内容是这样的:
mysql> SELECT * FROM performance_schema.setup_objects;+-------------+--------------------+-------------+---------+-------+ | OBJECT_TYPE | OBJECT_SCHEMA | OBJECT_NAME | |定时启用 | +-------------+--------------------+-------------+---------+-------+ | mysql事件| | % |没有| | | |事件performance_schema | % |没有| | | |事件information_schema | % |没有| | |事件 | % | % | 是的|mysql函数是的| | | | % |没有| | | |函数performance_schema | % |没有| | | |函数information_schema | % |没有| | |函数 | % | % | mysql程序是的| | | | | % |没有| | | |过程performance_schema | % |没有| | | |过程information_schema | % |没有| | |过程 | % | % | 是的| | | |表mysql | % |没有| | | |表performance_schema | % |没有| | | |表information_schema | % |没有| | |表 | % | % | 是的| | | |触发mysql | % |没有| | | |触发performance_schema | % |没有| | | |触发information_schema | % |没有| | |触发器 | % | % | 是的| |+-------------+--------------------+-------------+---------+-------+
修改setup_objects.
表立即影响对象监控。
的OBJECT_TYPE
列指示行所应用的对象类型。表格
过滤影响表I/O事件(等待/ io /表/ sql /处理程序
和表锁事件(等待/锁定/表/ sql /处理程序
仪器)。
的OBJECT_SCHEMA
和OBJECT_NAME
列应该包含一个文字模式或对象名称,或者“%”
匹配任何名称。
的启用
列表示是否监控匹配的对象定时
是否收集定时信息。设置定时
列影响Performance Schema表内容,如中所述第27.4.1节,“性能模式事件计时”.
对象中的对象除外,默认对象配置的效果是检测所有对象mysql
,INFORMATION_SCHEMA
,performance_schema
数据库。(表中INFORMATION_SCHEMA
的内容都不会对数据库进行检测setup_objects.
;该行information_schema. %
简单地让这个默认值显式。)
当性能模式检查匹配项时setup_objects.
,它首先尝试找到更具体的匹配。匹配给定的行OBJECT_TYPE
,性能模式按以下顺序检查行:
行
OBJECT_SCHEMA = '
和文字
'OBJECT_NAME = '
.文字
'行
OBJECT_SCHEMA = '
和文字
'object_name ='%'
.行
OBJECT_SCHEMA = ' % '
和object_name ='%'
.
例如,一个表db1.t1
,查看性能模式表格
行为匹配'db1'
和“t1”
,然后'db1'
和“%”
,然后“%”
和“%”
.匹配发生的顺序很重要,因为不同的匹配setup_objects.
行可以有不同的启用
和定时
值。
对于与表相关的事件,性能模式结合了内容setup_objects.
与setup_instruments
确定是否使能仪器,是否使能仪器计时:
匹配中一行的表
setup_objects.
,表仪器产生事件只有当启用
是是的
在这两个setup_instruments
和setup_objects.
.的
定时
将两个表中的值合并,以便仅在两个值都为时收集计时信息是的
.
对于存储的程序对象,Performance Schema接受启用
和定时
直接从setup_objects.
行。没有价值观的结合setup_instruments
.
假设setup_objects.
包含以下表格
适用于db1
,db2
,db4
:
+ ------------- + -------------- + ------------- + --------- + ------- + |object_type |object_schema |object_name |启用|定时|+ ------------- + -------------- + ------------- + --------- + ------- + |表|DB1 |t1 | YES | YES | | TABLE | db1 | t2 | NO | NO | | TABLE | db2 | % | YES | YES | | TABLE | db3 | % | NO | NO | | TABLE | % | % | YES | YES | +-------------+---------------+-------------+---------+-------+
如有物件相关的文书setup_instruments
有一个启用
的价值没有
,对象的事件不受监控。如果启用
值是是的
,事件监控发生根据启用
有关的价值setup_objects.
行:
db1.t1
事件监控db1.t2
事件不受监控db2.t3
事件监控db3.t4
事件不受监控db4.t5
事件监控
类似的逻辑也适用于组合定时
列的setup_instruments
和setup_objects.
表,以确定是否收集事件定时信息。
如果持久性表和临时表具有相同的名称,则匹配setup_objects.
行以相同的方式出现。不可能只监视一个表而不监视另一个表。但是,每个表都是单独检测的。