文档首页
MySQL 9.0 参考手册
相关文档 下载此手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


29.12.6.1 events_statements_current 表

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

在包含语句事件行的表中,events_statements_current 是最基本的。其他包含语句事件行的表在逻辑上是根据当前事件推导出来的。例如,events_statements_historyevents_statements_history_long 表是最近已结束的语句事件的集合,分别对应每个线程的最大行数和所有线程的全局最大行数。

有关三个 events_statements_xxx 事件表之间关系的更多信息,请参见 第 29.9 节,“Performance Schema 用于当前和历史事件的表”

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

events_statements_current 表包含以下列

  • THREAD_ID, EVENT_ID

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

  • END_EVENT_ID

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

  • EVENT_NAME

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

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

  • 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 列中选择的价值观似乎超过了 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_IDEVENT_ID) 上的主键

TRUNCATE TABLE 允许用于 events_statements_current 表。它会删除行。