mysql setup type选择_mysql8 参考手册-按对象setup_objects进行预过滤

setup_objects表控制性能模式是否监视特定的表和存储的程序对象。初始 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 表的修改将立即影响对象监视。

该OBJECT_TYPE列指示行适用的对象的类型。TABLE 筛选会影响表I / O事件(wait/io/table/sql/handler仪器)和表锁定事件(wait/lock/table/sql/handler仪器)。

在OBJECT_SCHEMA与 OBJECT_NAME列应包含文本模式或对象的名称,或'%'以匹配任何名称。

该ENABLED列指示是否监视匹配的对象,并TIMED指示是否收集定时信息。设置 TIMED列会影响性能模式表的内容,如 第26.4.1节“性能模式事件计时”中所述。

缺省对象配置的效果是仪器除了那些在所有对象mysql, INFORMATION_SCHEMA和 performance_schema数据库。(INFORMATION_SCHEMA不考虑数据库中的表, 无论的内容如何 setup_objects; for的行 information_schema.%仅使该默认值明确。)

当“性能模式”在中检查匹配项时 setup_objects,它将首先尝试查找更具体的匹配项。对于与给定匹配的行, OBJECT_TYPE性能模式将按以下顺序检查行:

与 和 排 。 OBJECT_SCHEMA='literal'OBJECT_NAME='literal'

与 和排 。 OBJECT_SCHEMA='literal'OBJECT_NAME='%'

与OBJECT_SCHEMA='%'和 排OBJECT_NAME='%'。

例如,对于一个表db1.t1,性能模式TABLE在行中查找与'db1'和的匹配项't1',然后为'db1'和'%',然后为'%'和'%'。匹配发生的顺序很重要,因为不同的匹配setup_objects行可以具有不同的ENABLED和 TIMED值。

对于表相关的事件,性能模式结合的内容setup_objects与 setup_instruments以确定是否启用仪器以及是否同时启用仪器:

对于匹配一排桌子 setup_objects,桌子仪器产生的事件仅 ENABLED是YES在这两个 setup_instruments和 setup_objects。

将TIMED两个表中的值组合在一起,以便仅在两个值均为时才收集计时信息YES。

对于存储的程序对象,性能模式直接从 行中获取 ENABLED和TIMED列setup_objects。的值没有组合 setup_instruments。

假设setup_objects包含以下TABLE适用于行 db1,db2以及 db3:

+-------------+---------------+-------------+---------+-------+

| OBJECT_TYPE | OBJECT_SCHEMA | OBJECT_NAME | ENABLED | TIMED |

+-------------+---------------+-------------+---------+-------+

| TABLE | db1 | t1 | YES | YES |

| TABLE | db1 | t2 | NO | NO |

| TABLE | db2 | % | YES | YES |

| TABLE | db3 | % | NO | NO |

| TABLE | % | % | YES | YES |

+-------------+---------------+-------------+---------+-------+

如果中与对象有关的仪器 setup_instruments的 ENABLED值为NO,则不会监视该对象的事件。如果 ENABLED值为,则YES根据ENABLED相关setup_objects行中的值进行 事件监视 :

db1.t1 监控事件

db1.t2 事件不受监控

db2.t3 监控事件

db3.t4 事件不受监控

db4.t5 监控事件

类似的逻辑适用于组合 和表中的TIMED 列,以确定是否收集事件计时信息。 setup_instrumentssetup_objects

如果永久表和临时表具有相同的名称,则对setup_objects行的匹配将以相同的方式进行。无法对一个表启用监视,而对另一表则无法启用。但是,每个表都是单独检测的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值