文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  events_statements_current 表

29.12.6.1 events_statements_current 表

events_statements_current 表包含当前语句事件。该表为每个线程存储一行,显示线程最近监视的语句事件的当前状态,因此没有用于配置表大小的系统变量。

在包含语句事件行的表中,events_statements_current 是最基本的。其他包含语句事件行的表是从当前事件逻辑派生的。例如,events_statements_historyevents_statements_history_long 表是最近结束的语句事件的集合,分别最多包含每个线程的行数和全局所有线程的行数。

有关三个 events_statements_xxx 事件表之间关系的更多信息,请参见 第 29.9 节,“性能模式当前和历史事件表”

有关配置是否收集语句事件的信息,请参见 第 29.12.6 节,“性能模式语句事件表”

events_statements_current 表包含以下列

  • THREAD_ID, EVENT_ID

    与事件关联的线程以及事件开始时的线程当前事件编号。THREAD_IDEVENT_ID 值一起唯一标识行。没有两行具有相同的数值对。

  • END_EVENT_ID

    此列在事件开始时设置为 NULL,并在事件结束时更新为线程当前事件编号。

  • EVENT_NAME

    收集事件的工具的名称。这是一个 setup_instruments 表中的 NAME 值。工具名称可能包含多个部分并形成层次结构,如 第 29.6 节,“性能模式工具命名约定” 中所述。

    对于 SQL 语句,EVENT_NAME 值最初为 statement/com/Query,直到语句被解析,然后更改为更合适的值,如 第 29.12.6 节,“性能模式语句事件表” 中所述。

  • SOURCE

    包含生成事件的检测代码的源文件名称,以及检测发生的源文件中的行号。这使您能够检查源代码以确定所涉及的代码的确切位置。

  • TIMER_START, TIMER_END, TIMER_WAIT

    事件的计时信息。这些值的单位是皮秒(万亿分之一秒)。TIMER_STARTTIMER_END 值指示事件计时开始和结束的时间。 TIMER_WAIT 是事件经过的时间(持续时间)。

    如果事件尚未完成,则 TIMER_END 是当前计时器值,而 TIMER_WAIT 是到目前为止的经过时间 (TIMER_ENDTIMER_START)。

    如果事件是从 TIMED = NO 的工具生成的,则不收集计时信息,TIMER_STARTTIMER_ENDTIMER_WAIT 都是 NULL

    有关将皮秒作为事件时间单位以及影响时间值因素的讨论,请参见第 29.4.1 节,“性能模式事件计时”

  • LOCK_TIME

    等待表锁花费的时间。该值以微秒计算,但为了便于与其他性能模式计时器进行比较,已将其规范化为皮秒。

  • SQL_TEXT

    SQL 语句的文本。对于与 SQL 语句无关的命令,该值为 NULL

    默认情况下,语句显示的最大空间为 1024 字节。若要更改此值,请在服务器启动时设置 performance_schema_max_sql_text_length 系统变量。(更改此值也会影响其他性能模式表中的列。请参见第 29.10 节,“性能模式语句摘要和采样”。)

  • DIGEST

    语句摘要 SHA-256 值,以 64 个十六进制字符的字符串形式表示,如果 statements_digest 使用者为 no,则为 NULL。有关语句摘要的更多信息,请参见第 29.10 节,“性能模式语句摘要和采样”

  • DIGEST_TEXT

    规范化的语句摘要文本,如果 statements_digest 使用者为 no,则为 NULL。有关语句摘要的更多信息,请参见第 29.10 节,“性能模式语句摘要和采样”

    系统变量 performance_schema_max_digest_length 确定每个会话可用于摘要值存储的最大字节数。但是,由于在摘要缓冲区中对语句元素(如关键字和文字值)进行编码,语句摘要的显示长度可能超过可用缓冲区大小。因此,从语句事件表 DIGEST_TEXT 列中选择的 value 似乎超过了 performance_schema_max_digest_length 值。

  • CURRENT_SCHEMA

    语句的默认数据库,如果不存在,则为 NULL

  • OBJECT_SCHEMAOBJECT_NAMEOBJECT_TYPE

    对于嵌套语句(存储程序),这些列包含有关父语句的信息。否则,它们为 NULL

  • OBJECT_INSTANCE_BEGIN

    此列标识语句。该值是内存中对象的地址。

  • MYSQL_ERRNO

    语句错误编号,来自语句诊断区域。

  • RETURNED_SQLSTATE

    语句 SQLSTATE 值,来自语句诊断区域。

  • MESSAGE_TEXT

    语句错误消息,来自语句诊断区域。

  • ERRORS

    语句是否发生错误。如果 SQLSTATE 值以 00(完成)或 01(警告)开头,则该值为 0。如果 SQLSTATE 值为其他任何内容,则该值为 1。

  • WARNINGS

    来自语句诊断区域的警告数量。

  • ROWS_AFFECTED

    受语句影响的行数。有关“影响”一词含义的描述,请参见mysql_affected_rows()

  • ROWS_SENT

    语句返回的行数。

  • ROWS_EXAMINED

    服务器层检查的行数(不计存储引擎内部的任何处理)。

  • CREATED_TMP_DISK_TABLES

    与状态变量 Created_tmp_disk_tables 相似,但特定于语句。

  • CREATED_TMP_TABLES

    与状态变量 Created_tmp_tables 相似,但特定于语句。

  • SELECT_FULL_JOIN

    与状态变量 Select_full_join 相似,但特定于语句。

  • SELECT_FULL_RANGE_JOIN

    与状态变量 Select_full_range_join 相似,但特定于语句。

  • SELECT_RANGE

    与状态变量 Select_range 相似,但特定于语句。

  • SELECT_RANGE_CHECK

    与状态变量 Select_range_check 相似,但特定于语句。

  • SELECT_SCAN

    与状态变量 Select_scan 相似,但特定于语句。

  • SORT_MERGE_PASSES

    与状态变量 Sort_merge_passes 相似,但特定于语句。

  • SORT_RANGE

    与状态变量 Sort_range 相似,但特定于语句。

  • SORT_ROWS

    与状态变量 Sort_rows 相似,但特定于语句。

  • SORT_SCAN

    与状态变量 Sort_scan 相似,但特定于语句。

  • NO_INDEX_USED

    如果语句在不使用索引的情况下执行表扫描,则为 1,否则为 0。

  • NO_GOOD_INDEX_USED

    如果服务器没有找到适合语句使用的索引,则为 1,否则为 0。有关更多信息,请参见 第 10.8.2 节,“EXPLAIN 输出格式”EXPLAIN 输出的 Extra 列中 Range checked for each record 值的描述。

  • NESTING_EVENT_IDNESTING_EVENT_TYPENESTING_EVENT_LEVEL

    这三列与其他列一起使用,为顶级(未嵌套)语句和嵌套语句(在存储程序中执行)提供以下信息。

    对于顶级语句

    OBJECT_TYPE = NULL
    OBJECT_SCHEMA = NULL
    OBJECT_NAME = NULL
    NESTING_EVENT_ID = the parent transaction EVENT_ID
    NESTING_EVENT_TYPE = 'TRANSACTION'
    NESTING_LEVEL = 0

    对于嵌套语句

    OBJECT_TYPE = the parent statement object type
    OBJECT_SCHEMA = the parent statement object schema
    OBJECT_NAME = the parent statement object name
    NESTING_EVENT_ID = the parent statement EVENT_ID
    NESTING_EVENT_TYPE = 'STATEMENT'
    NESTING_LEVEL = the parent statement NESTING_LEVEL plus one
  • STATEMENT_ID

    服务器在 SQL 级别维护的查询 ID。该值对于服务器实例是唯一的,因为这些 ID 是使用全局计数器生成的,该计数器是原子地递增的。

  • CPU_TIME

    当前线程在 CPU 上花费的时间,以皮秒表示。

  • MAX_CONTROLLED_MEMORY

    报告语句在执行期间使用的受控内存的最大数量。

  • MAX_TOTAL_MEMORY

    报告语句在执行期间使用的最大内存量。

  • EXECUTION_ENGINE

    查询执行引擎。该值为 PRIMARYSECONDARY。用于 HeatWave 服务和 HeatWave,其中 PRIMARY 引擎为 InnoDBSECONDARY 引擎为 HeatWave (RAPID)。对于 MySQL 社区版服务器、MySQL 企业版服务器(本地)以及没有 HeatWave 的 HeatWave 服务,该值始终为 PRIMARY

events_statements_current 具有以下索引

  • 主键为 (THREAD_ID, EVENT_ID)

events_statements_current 允许使用 TRUNCATE TABLE。它将删除行。