Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

29.12.6.1 当前语句事件表

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

    从中收集事件的仪器的名称。这是一个 NAME 值来自 setup_instruments 表。仪器名称可能具有多个部分并形成层次结构,如 第 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_START, TIMER_ENDTIMER_WAIT 都是 NULL

    关于picoseconds作为事件时间单位和影响时间值的因素的讨论,请参阅第29.4.1节,“性能模式事件计时”

  • LOCK_TIME

    等待表锁定的时间。这值以微秒计算,但以picoseconds为单位,以便与其他性能模式计时器进行比较。

  • 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确定每个会话的摘要值存储的最大字节数。然而,由于语句元素(如关键字和文字值)在摘要缓冲区中的编码,所选的语句摘要值可能超过performance_schema_max_digest_length值。

  • CURRENT_SCHEMA

    语句的默认数据库,如果没有则为NULL

  • OBJECT_SCHEMA, OBJECT_NAME, OBJECT_TYPE

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

  • OBJECT_INSTANCE_BEGIN

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

  • MYSQL_ERRNO

    语句错误号,从语句诊断区域。

  • RETURNED_SQLSTATE

    语句SQLSTATE值,从语句诊断区域。

  • MESSAGE_TEXT

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

  • ERRORS

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

  • WARNINGS

    警告数量,从语句诊断区域。

  • ROWS_AFFECTED

    语句影响的行数。有关“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。有关更多信息,请参阅 EXPLAIN 输出的 Extra 列的描述,在第 10.8.2 节,“EXPLAIN 输出格式”

  • NESTING_EVENT_ID, NESTING_EVENT_TYPE, NESTING_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。对于 MySQL HeatWave 服务和 HeatWave,PRIMARY 引擎是 InnoDBSECONDARY 引擎是 HeatWave (RAPID)。对于 MySQL Community Edition 服务器、MySQL Enterprise Edition 服务器(on-premise)和 MySQL HeatWave 服务没有 HeatWave,值始终是 PRIMARY

events_statements_current 表具有以下索引:

  • 主键在 (THREAD_ID, EVENT_ID)

TRUNCATE TABLE 允许对 events_statements_current 表执行。它删除行。