• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • events_statements_current表

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

    在包含语句事件行的表中,这events_statements_current是最基本的。包含语句事件行的其他表在逻辑上是从当前事件派生的。例如,events_statements_historyevents_statements_history_long表是已结束的最近语句事件的集合,每个线程最多可容纳最大行数,而在所有线程中则可全局容纳。

    有关三个事件表之间关系的更多信息,请参见“当前和历史事件的性能架构表”。events_statements_xxx

    有关配置是否收集语句事件的信息,请参见“性能架构语句事件表”。

    events_statements_current表包含以下列:

    • THREAD_IDEVENT_ID

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

    • END_EVENT_ID

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

    • EVENT_NAME

      收集事件的仪器的名称。这是表中的NAMEsetup_instruments。仪器名称可能具有多个部分,并形成一个层次结构,如“性能模式仪器命名约定”中所述。

      对于SQL语句,该EVENT_NAME值最初是statement/com/Query直到该语句被解析为止,然后更改为更合适的值,如“性能架构语句事件表”中所述。

    • SOURCE

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

    • TIMER_STARTTIMER_ENDTIMER_WAIT

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

      如果事件尚未结束,TIMER_END则为当前计时器值,并且TIMER_WAIT为到目前为止的时间(TIMER_END-TIMER_START)。

      如果事件是从具有产生仪器TIMED = NO,定时信息不是收集,并且TIMER_STARTTIMER_END以及TIMER_WAIT是所有NULL

      有关以皮秒为单位的事件时间和影响时间值的因素的讨论,请参见“性能模式事件时序”。

    • LOCK_TIME

      等待表锁所花费的时间。该值以微秒为单位计算,但归一化为皮秒,以便与其他性能模式计时器进行比较。

    • SQL_TEXT

      SQL语句的文本。对于不与SQL语句关联的命令,其值为NULL

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

    • DIGEST

      该语句将SHA-256值摘要为64个十六进制字符的字符串,或者NULL如果statements_digest使用者是no。有关语句摘要的更多信息,请参见“性能模式语句摘要和采样”。

    • DIGEST_TEXT

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

      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 。值为1是SQLSTATE值是其他任何值。

    • WARNINGS

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

    • ROWS_AFFECTED

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

    • ROWS_SENT

      语句返回的行数。

    • ROWS_EXAMINED

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

    • CREATED_TMP_DISK_TABLES

      类似于Created_tmp_disk_tables status变量,但特定于该语句。

    • CREATED_TMP_TABLES

      类似于Created_tmp_tables status变量,但特定于该语句。

    • SELECT_FULL_JOIN

      类似于Select_full_joinstatus变量,但特定于该语句。

    • SELECT_FULL_RANGE_JOIN

      类似于Select_full_range_join status变量,但特定于该语句。

    • SELECT_RANGE

      类似于Select_range status变量,但特定于该语句。

    • SELECT_RANGE_CHECK

      类似于Select_range_check status变量,但特定于该语句。

    • SELECT_SCAN

      类似于Select_scan status变量,但特定于该语句。

    • SORT_MERGE_PASSES

      类似于Sort_merge_passesstatus变量,但特定于该语句。

    • SORT_RANGE

      类似于Sort_range status变量,但特定于该语句。

    • SORT_ROWS

      类似于Sort_rows status变量,但特定于该语句。

    • SORT_SCAN

      类似于Sort_scan status变量,但特定于该语句。

    • NO_INDEX_USED

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

    • NO_GOOD_INDEX_USED

      如果服务器找不到适合该语句的索引,则为1,否则为0。有关详细信息,请参阅的描述Extra列从EXPLAIN输出为Range checked for each record在值“解释输出格式”。

    • NESTING_EVENT_IDNESTING_EVENT_TYPENESTING_EVENT_LEVEL

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

      对于顶级语句:

      OBJECT_TYPE = NULL
      OBJECT_SCHEMA = NULL
      OBJECT_NAME = NULL
      NESTING_EVENT_ID = NULL
      NESTING_EVENT_TYPE = NULL
      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是使用全局计数器生成的,该全局计数器以原子方式递增。该列是在MySQL 8.0.14中添加的。

    events_statements_current表具有以下索引:

    • THREAD_IDEVENT_ID)上的主键

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