消费者设置setup_consumers.
表形成了从更高级别的层次结构降低。以下讨论描述了消费者的工作原理,显示特定的配置及其效果作为消费者设置逐步启用从高电平到低电平。显示的消费者值是代表性的。这里描述的一般原则适用于可能可用的其他消费者值。
配置描述以越来越多的功能和开销的顺序发生。如果您不需要通过启用较低级别设置提供的信息,请禁用它们以便代表您的性能模式执行较少的代码,并且筛选的信息较少。
这setup_consumers.
表包含以下值的以下层次结构:
global_instrumentation thread_instrumentation events_waits_history events_waits_history_long events_stages_current events_stages_history events_stages_current events_statements_history events_statements_history_long events_transactions_current events_transactions_history events_transaction_history_long starments_digest
在消费者层次结构中,用于等待,阶段,陈述和交易的消费者都在同一级别。这与事件嵌套层次结构不同,舞台事件中的等待事件嵌套在语句事件中嵌套在事务事件中嵌套。
如果给定的消费者设置是不
,性能模式禁用与消费者关联的仪器,忽略所有较低级别的设置。如果给定的设置是是的
,性能架构启用与其关联的仪器,并在下一个最低级别检查设置。有关每个消费者的规则说明,请参阅第27.4.7节“消费者预过滤”。
例如,如果global_instrumentation
已启用,thread_instrumentation.
检查。如果thread_instrumentation.
已启用,事件_
检查消费者。如果是这些XXX.
_当前的events_waits_current.
已启用,events_waits_history.
和Events_waits_history_long.
检查。
以下每个配置描述指示性能架构检查的设置元素以及它维护的输出表(即它收集信息的表)。
服务器配置状态:
mysql> select * from performence_schema.setup_consumers;+ -------------------------------- + |名称|启用|+ -------------------------------- + |global_instrumentation |不|... + ------------------------- + --------- +
在此配置中,没有任何乐器。
检查元素选中:
桌子
setup_consumers.
, 消费者global_instrumentation
输出表维护:
没有任何
服务器配置状态:
mysql> select * from performence_schema.setup_consumers;+ -------------------------------- + |名称|启用|+ -------------------------------- + |global_instrumentation |是的|thread_instrumentation |不| ... +---------------------------+---------+
在此配置中,仅为全局状态维护仪器。禁用每线程仪器。
相对于前面的配置选中其他设置元素:
桌子
setup_consumers.
, 消费者thread_instrumentation.
相对于前面的配置维护附加输出表:
服务器配置状态:
mysql> select * from performence_schema.setup_consumers;+ ------------------------------ + --------- + |名称|启用|+ ------------------------------ + --------- + |global_instrumentation |是的|thread_instrumentation |是的 | events_waits_current | NO | ... | events_stages_current | NO | ... | events_statements_current | NO | ... | events_transactions_current | NO | ... +----------------------------------+---------+
在这种配置中,仪器在全局和每个线程保持。当前事件或事件历史表中没有收集单个事件。
相对于前面的配置选中其他设置元素:
桌子
setup_consumers.
,消费者事件_
, 在哪里XXX.
_当前的XXX.
是等待
那阶段
那陈述
那交易
柱子
threads.instrumented.
相对于前面的配置维护附加输出表:
事件_
, 在哪里XXX.
_summary_by_yyy
_by_event_name.XXX.
是等待
那阶段
那陈述
那交易
;和yyy
是线
那用户
那主持人
那帐户
服务器配置状态:
mysql> select * from performence_schema.setup_consumers;+ ------------------------------ + --------- + |名称|启用|+ ------------------------------ + --------- + |global_instrumentation |是的|thread_instrumentation |是的 | events_waits_current | YES | | events_waits_history | NO | | events_waits_history_long | NO | | events_stages_current | YES | | events_stages_history | NO | | events_stages_history_long | NO | | events_statements_current | YES | | events_statements_history | NO | | events_statements_history_long | NO | | events_transactions_current | YES | | events_transactions_history | NO | | events_transactions_history_long | NO | ... +----------------------------------+---------+
在这种配置中,仪器在全局和每个线程保持。在当前事件表中收集各个事件,但不在事件历史记录表中。
相对于前面的配置选中其他设置元素:
消费者
事件_
, 在哪里XXX.
_历史XXX.
是等待
那阶段
那陈述
那交易
消费者
事件_
, 在哪里XXX.
_history_long.XXX.
是等待
那阶段
那陈述
那交易
相对于前面的配置维护附加输出表:
事件_
, 在哪里XXX.
_当前的XXX.
是等待
那阶段
那陈述
那交易
前面的配置没有收集事件历史记录,因为事件_
和XXX.
_历史事件_
消费者被禁用。这些消费者可以单独启用或一起启用,以每种线程,全球或两者收集事件历史。XXX.
_history_long.
此配置每个线程收集事件历史记录,但不是全局:
mysql> select * from performence_schema.setup_consumers;+ ------------------------------ + --------- + |名称|启用|+ ------------------------------ + --------- + |global_instrumentation |是的|thread_instrumentation |是的 | events_waits_current | YES | | events_waits_history | YES | | events_waits_history_long | NO | | events_stages_current | YES | | events_stages_history | YES | | events_stages_history_long | NO | | events_statements_current | YES | | events_statements_history | YES | | events_statements_history_long | NO | | events_transactions_current | YES | | events_transactions_history | YES | | events_transactions_history_long | NO | ... +----------------------------------+---------+
执行此配置的事件历史表:
事件_
, 在哪里XXX.
_历史XXX.
是等待
那阶段
那陈述
那交易
此配置全局收集事件历史记录,但不是每个线程:
mysql> select * from performence_schema.setup_consumers;+ ------------------------------ + --------- + |名称|启用|+ ------------------------------ + --------- + |global_instrumentation |是的|thread_instrumentation |是的 | events_waits_current | YES | | events_waits_history | NO | | events_waits_history_long | YES | | events_stages_current | YES | | events_stages_history | NO | | events_stages_history_long | YES | | events_statements_current | YES | | events_statements_history | NO | | events_statements_history_long | YES | | events_transactions_current | YES | | events_transactions_history | NO | | events_transactions_history_long | YES | ... +----------------------------------+---------+
执行此配置的事件历史表:
事件_
, 在哪里XXX.
_history_long.XXX.
是等待
那阶段
那陈述
那交易
此配置每次线程和全局收集事件历史记录:
mysql> select * from performence_schema.setup_consumers;+ ------------------------------ + --------- + |名称|启用|+ ------------------------------ + --------- + |global_instrumentation |是的|thread_instrumentation |是的 | events_waits_current | YES | | events_waits_history | YES | | events_waits_history_long | YES | | events_stages_current | YES | | events_stages_history | YES | | events_stages_history_long | YES | | events_statements_current | YES | | events_statements_history | YES | | events_statements_history_long | YES | | events_transactions_current | YES | | events_transactions_history | YES | | events_transactions_history_long | YES | ... +----------------------------------+---------+
执行此配置的事件历史表:
事件_
, 在哪里XXX.
_历史XXX.
是等待
那阶段
那陈述
那交易
事件_
, 在哪里XXX.
_history_long.XXX.
是等待
那阶段
那陈述
那交易