29.12.5.1 events_stages_当前 表
表 events_stages_current 包含当前阶段事件的当前状态。该表按线程存储一行,显示了每个线程最近监控到的最终阶段事件的当前状态,因此没有系统变量用于配置表大小。
包含阶段事件行的表中,events_stages_current 是最基础的一张。其他包含阶段事件行的表是基于当前事件逻辑派生的。例如,events_stages_history 和 events_stages_history_long 表是最近结束的阶段事件的集合,直到每个线程和所有线程全球范围内的最大行数限制。
有关三张阶段事件表之间关系的更多信息,请参阅 第 29.9 节,“当前和历史事件的性能架构表”。
有关是否收集阶段事件的配置信息,请参阅 第 29.12.5 节,“性能架构阶段事件表”。
表 events_stages_current 有这些列:
-
THREAD_ID,EVENT_ID与事件关联的线程及其当前事件开始时的线程事件编号。
THREAD_ID和EVENT_ID值结合起来唯一标识行。没有两行有相同的值对。 -
END_EVENT_ID当事件开始时,该列设置为
NULL,当事件结束时更新为线程当前事件编号。 -
EVENT_NAME产生事件的仪器名称。这是
setup_instruments表中的一个NAME值。仪器名称可能有多个部分,形成层次结构,如第 29.6 节“性能架构仪器命名约定” 所讨论的那样。 -
SOURCE包含产生事件的仪器化代码的源文件名称以及发生仪器化的文件中行号。这使您可以检查源代码以确定具体涉及的代码。
-
TIMER_START,TIMER_END,TIMER_WAIT事件的计时信息。这些值的单位是皮秒(十亿分之一秒)。
TIMER_START和TIMER_END值表示事件计时开始和结束。TIMER_WAIT是事件所用时间(持续时间)。如果事件尚未完成,
TIMER_END为当前计时器值,TIMER_WAIT为已过去的时间(TIMER_END-TIMER_START)。如果仪器没有
TIMED = NO,则不会收集计时信息,TIMER_START、TIMER_END和TIMER_WAIT都为NULL。有关皮秒作为事件时间单位以及影响时间值的因素,请参阅 第 29.4.1 节,“性能架构事件计时”。
-
WORK_COMPLETED,WORK_ESTIMATED这些列提供了阶段进度信息,适用于已被实现以产生此类信息的仪器。
WORK_COMPLETED表示完成的工作单元数为阶段,而WORK_ESTIMATED表示预计为阶段的工作单元数。有关更多信息,请参阅 阶段事件进度信息。 -
NESTING_EVENT_ID事件ID值,表示该事件所在的嵌套事件。对于一个阶段事件,嵌套事件通常是一个语句事件。
-
NESTING_EVENT_嵌套事件类型。值为
TRANSACTION、STATEMENT、STAGE或WAIT。
表events_stages_current具有以下索引:
-
基于(
THREAD_ID,EVENT_ID)的主键。
TRUNCATE TABLE允许对表events_stages_current进行。它删除了行。