#### 27.12.6.1 事件\_陈述\_当前表

[](<>)[](<>)

这[`events_statements_current`](performance-schema-events-statements-current-table.html)表包含当前语句事件。该表为每个线程存储一行，显示线程最近监控的语句事件的当前状态，因此没有用于配置表大小的系统变量。

在包含语句事件行的表中，[`events_statements_current`](performance-schema-events-statements-current-table.html)是最根本的。包含语句事件行的其他表在逻辑上是从当前事件派生的。例如，[`events_statements_history`](performance-schema-events-statements-history-table.html)和[`events_statements_history_long`](performance-schema-events-statements-history-long-table.html)表是最近结束的语句事件的集合，分别达到每个线程和全局所有线程的最大行数。

欲了解更多关于三者之间关系的信息`events_statements_*`xxx`*`事件表，见[第 27.9 节，“当前和历史事件的性能模式表”](performance-schema-event-tables.html).

有关配置是否收集语句事件的信息，请参见[第 27.12.6 节，“性能模式语句事件表”](performance-schema-statement-tables.html).

这[`events_statements_current`](performance-schema-events-statements-current-table.html)表有这些列：

-   `THREAD_ID`,`EVENT_ID`

    事件启动时与事件关联的线程和线程当前事件编号。这`THREAD_ID`和`EVENT_ID`加在一起的值唯一地标识该行。没有两行具有相同的一对值。

-   `END_EVENT_ID`

    此列设置为`空值`当事件开始并更新为事件结束时的线程当前事件号。

-   `EVENT_NAME`

    从中收集事件的工具的名称。这是一个`姓名`从价值[`setup_instruments`](performance-schema-setup-instruments-table.html)桌子。仪器名称可能有多个部分并形成层次结构，如在[第 27.6 节，“性能模式仪器命名约定”](performance-schema-instrument-naming.html).

    对于 SQL 语句，`EVENT_NAME`最初的价值是`声明/com/查询`直到语句被解析，然后更改为更合适的值，如中所述[第 27.12.6 节，“性能模式语句事件表”](performance-schema-statement-tables.html).

-   `资源`

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

-   `TIMER_START`,`TIMER_END`,`TIMER_WAIT`

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

    如果活动还没有结束，`TIMER_END`是当前计时器值，并且`TIMER_WAIT`是到目前为止经过的时间（`TIMER_END`-`TIMER_START`）。

    如果事件是从具有`定时 = 否`，不收集计时信息，并且`TIMER_START`,`TIMER_END`和`等等`都是`无效的`.

    有关皮秒作为事件时间单位以及影响时间值的因素的讨论，请参阅[第27.4.1节，“性能模式事件计时”](performance-schema-timing.html).

-   `锁定时间`

    等待表锁的时间。该值以微秒为单位计算，但标准化为皮秒，以便与其他性能模式计时器进行比较。

-   `SQL_文本`

    SQL语句的文本。对于与SQL语句无关的命令，该值为`无效的`.

    默认情况下，语句显示的最大可用空间为1024字节。要更改此值，请设置[`性能模式最大sql文本长度`](performance-schema-system-variables.html#sysvar_performance_schema_max_sql_text_length)服务器启动时的系统变量。（更改此值也会影响其他性能架构表中的列。请参阅。）[第27.10节，“绩效模式声明摘要和抽样”](performance-schema-statement-digests.html).)

-   `消化`

    语句将SHA-256值摘要为64个十六进制字符的字符串，或`无效的`如果`声明摘要`消费者是`不`.有关语句摘要的更多信息，请参阅[第27.10节，“绩效模式声明摘要和抽样”](performance-schema-statement-digests.html).

-   `摘要文本`

    规范化语句摘要文本，或`无效的`如果`声明摘要`消费者是`不`.有关语句摘要的更多信息，请参阅[第27.10节，“绩效模式声明摘要和抽样”](performance-schema-statement-digests.html).

    这个[`性能模式最大摘要长度`](performance-schema-system-variables.html#sysvar_performance_schema_max_digest_length)系统变量确定每个会话可用于摘要值存储的最大字节数。但是，由于对摘要缓冲区中的关键字和文字值等语句元素进行编码，语句摘要的显示长度可能会超过可用缓冲区大小。因此，从`摘要文本`语句事件表的列可能会超出[`性能模式最大摘要长度`](performance-schema-system-variables.html#sysvar_performance_schema_max_digest_length)价值

-   `当前_模式`

    语句的默认数据库，`无效的`如果没有。

-   `对象模式`, `对象名称`, `对象类型`

    对于嵌套语句（存储程序），这些列包含有关父语句的信息。否则他们就是`无效的`.

-   `对象\u实例\u开始`

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

-   `乌尔诺`

    语句诊断区域中的语句错误号。

-   `返回的SQL状态`

    语句诊断区域中的语句SQLSTATE值。

-   `短信`

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

-   `错误`

    语句是否发生错误。如果SQLSTATE值以开头，则该值为0`00`（完成）或`01`（警告）。值为1表示SQLSTATE值为其他值。

-   `警告`

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

-   `你受影响了吗`

    受语句影响的行数。有关“受影响”含义的描述，请参阅[mysql\_影响\_行（）](https://dev.mysql.com/doc/c-api/8.0/en/mysql-affected-rows.html).

-   `发送的行数`

    语句返回的行数。

-   `检查的行数`

    服务器层检查的行数（不包括存储引擎内部的任何处理）。

-   `创建了_TMP_DISK_表`

    就像[`创建了_tmp_disk_表`](server-status-variables.html#statvar_Created_tmp_disk_tables)状态变量，但特定于语句。

-   `创建了_TMP_表`

    就像[`创建了_tmp_表`](server-status-variables.html#statvar_Created_tmp_tables)状态变量，但特定于语句。

-   `选择_FULL _JOIN`

    就像[`选择_full _join`](server-status-variables.html#statvar_Select_full_join)状态变量，但特定于语句。

-   `选择_FULL_RANGE_JOIN`

    就像[`选择_full_range_join`](server-status-variables.html#statvar_Select_full_range_join)状态变量，但特定于语句。

-   `选择_范围`

    就像[`选择_范围`](server-status-variables.html#statvar_Select_range)状态变量，但特定于语句。

-   `选择_范围_检查`

    就像[`选择_范围_检查`](server-status-variables.html#statvar_Select_range_check)状态变量，但特定于语句。

-   `选择“U扫描”`

    就像[`选择“U扫描”`](server-status-variables.html#statvar_Select_scan)状态变量，但特定于语句。

-   `排序\合并\通行证`

    就像[`排序\合并\通行证`](server-status-variables.html#statvar_Sort_merge_passes)状态变量，但特定于语句。

-   `排序范围`

    就像[`排序范围`](server-status-variables.html#statvar_Sort_range)状态变量，但特定于语句。

-   `按行排序`

    就像[`按行排序`](server-status-variables.html#statvar_Sort_rows)状态变量，但特定于语句。

-   `扫描排序`

    就像[`扫描排序`](server-status-variables.html#statvar_Sort_scan)状态变量，但特定于语句。

-   `没有使用索引`

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

-   `没有使用好的索引`

    1如果服务器找不到用于该语句的良好索引，则为0。有关更多信息，请参阅的说明`额外的`来自`解释`输出`检查每个记录的范围`价值[第8.8.2节，“解释输出格式”](explain-output.html).

-   `嵌套事件ID`, `嵌套事件类型`, `嵌套事件级别`

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

    对于高层声明：

    ```
    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
    ```

-   `声明`

    服务器在SQL级别维护的查询ID。该值对于服务器实例是唯一的，因为这些ID是使用原子递增的全局计数器生成的。这个专栏是在MySQL 8.0.14中添加的。

-   `CPU_时间`

    当前线程在CPU上花费的时间，以皮秒表示。这个专栏是在MySQL 8.0.28中添加的。

    这个[`事件_声明_当前`](performance-schema-events-statements-current-table.html)表中有以下索引：

-   主键打开(`线程ID`, `事件ID`)

[`截断表`](truncate-table.html)是允许的[`事件_声明_当前`](performance-schema-events-statements-current-table.html)桌子它会删除行。
