Documentation Home

27.12.20.8 表 I/O 和锁定等待汇总表

以下部分描述了表 I/O 和锁等待汇总表:

27.12.20.8.1 table_io_waits_summary_by_table 表

该 表汇总了仪器table_io_waits_summary_by_table 生成的所有表 I/O 等待事件。wait/io/table/sql/handler分组是按表进行的。

table_io_waits_summary_by_table 表具有这些分组列以指示该表如何聚合事件:OBJECT_TYPEOBJECT_SCHEMAOBJECT_NAME。这些列与表中的含义相同 events_waits_current。它们标识该行适用的表。

table_io_waits_summary_by_table 具有以下包含聚合值的摘要列。如列描述中所示,某些列更通用并且具有与更细粒度列的值的总和相同的值。例如,聚合所有写入的列包含聚合插入、更新和删除的相应列的总和。通过这种方式,可以直接使用更高级别的聚合,而不需要对较低级别的列求和的用户定义视图。

  • COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT, MAX_TIMER_WAIT

    这些列汇总了所有 I/O 操作。它们与相应的 xxx_READxxx_WRITE 列的总和相同。

  • COUNT_READ, SUM_TIMER_READ, MIN_TIMER_READ, AVG_TIMER_READ, MAX_TIMER_READ

    这些列汇总了所有读取操作。它们与相应 xxx_FETCH 列的总和相同。

  • COUNT_WRITE, SUM_TIMER_WRITE, MIN_TIMER_WRITE, AVG_TIMER_WRITE, MAX_TIMER_WRITE

    这些列聚合了所有写操作。它们与相应 xxx_INSERTxxx_UPDATE、 和 xxx_DELETE 列的总和相同。

  • COUNT_FETCH, SUM_TIMER_FETCH, MIN_TIMER_FETCH, AVG_TIMER_FETCH, MAX_TIMER_FETCH

    这些列汇总了所有提取操作。

  • COUNT_INSERT, SUM_TIMER_INSERT, MIN_TIMER_INSERT, AVG_TIMER_INSERT, MAX_TIMER_INSERT

    这些列汇总了所有插入操作。

  • COUNT_UPDATE, SUM_TIMER_UPDATE, MIN_TIMER_UPDATE, AVG_TIMER_UPDATE, MAX_TIMER_UPDATE

    这些列汇总了所有更新操作。

  • COUNT_DELETE, SUM_TIMER_DELETE, MIN_TIMER_DELETE, AVG_TIMER_DELETE, MAX_TIMER_DELETE

    这些列汇总了所有删除操作。

table_io_waits_summary_by_table 表具有以下索引:

  • OBJECT_TYPE( , OBJECT_SCHEMA, OBJECT_NAME) 上的唯一索引

TRUNCATE TABLE允许用于表 I/O 汇总表。它将汇总列重置为零而不是删除行。截断此表也会截断该 table_io_waits_summary_by_index_usage 表。

27.12.20.8.2 table_io_waits_summary_by_index_usage 表

该 表汇总了仪器table_io_waits_summary_by_index_usage 生成的所有表索引 I/O 等待事件 。wait/io/table/sql/handler分组是按表索引进行的。

的列与 table_io_waits_summary_by_index_usage 几乎相同 table_io_waits_summary_by_table。唯一的区别是额外的组列 , INDEX_NAME它对应于记录表 I/O 等待事件时使用的索引的名称:

  • PRIMARY表示表 I/O 使用了主索引。

  • NULL表示表 I/O 未使用索引。

  • 插入被计入INDEX_NAME = NULL

table_io_waits_summary_by_index_usage 表具有以下索引:

  • OBJECT_TYPE( , OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME) 上的唯一索引

TRUNCATE TABLE允许用于表 I/O 汇总表。它将汇总列重置为零而不是删除行。该表也被表的截断所截断 table_io_waits_summary_by_table 。更改表的索引结构的 DDL 操作可能会导致每个索引的统计信息被重置。

27.12.20.8.3 table_lock_waits_summary_by_table 表

该 表汇总了 仪器table_lock_waits_summary_by_table 生成的所有表锁定等待事件。wait/lock/table/sql/handler分组是按表进行的。

此表包含有关内部和外部锁的信息:

  • 内部锁对应于 SQL 层中的锁。目前这是通过调用 thr_lock(). OPERATION在事件行中,这些锁由具有以下值之一 的列区分 :

    read normal
    read with shared locks
    read high priority
    read no insert
    write allow write
    write concurrent insert
    write delayed
    write low priority
    write normal
  • 外部锁对应于存储引擎层的锁。目前这是通过调用 handler::external_lock(). OPERATION在事件行中,这些锁由具有以下值之一 的列区分 :

    read external
    write external

table_lock_waits_summary_by_table 表具有这些分组列以指示该表如何聚合事件:OBJECT_TYPEOBJECT_SCHEMAOBJECT_NAME。这些列与表中的含义相同 events_waits_current。它们标识该行适用的表。

table_lock_waits_summary_by_table 具有以下包含聚合值的摘要列。如列描述中所示,某些列更通用并且具有与更细粒度列的值的总和相同的值。例如,聚合所有锁的列包含聚合读锁和写锁的相应列的总和。通过这种方式,可以直接使用更高级别的聚合,而不需要对较低级别的列求和的用户定义视图。

  • COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT, MAX_TIMER_WAIT

    这些列汇总了所有锁定操作。它们与相应的 xxx_READxxx_WRITE 列的总和相同。

  • COUNT_READ, SUM_TIMER_READ, MIN_TIMER_READ, AVG_TIMER_READ, MAX_TIMER_READ

    这些列聚合了所有读锁操作。它们与相应的 xxx_READ_NORMALxxx_READ_WITH_SHARED_LOCKSxxx_READ_HIGH_PRIORITYxxx_READ_NO_INSERT 列的总和相同。

  • COUNT_WRITE, SUM_TIMER_WRITE, MIN_TIMER_WRITE, AVG_TIMER_WRITE, MAX_TIMER_WRITE

    这些列汇总了所有写锁定操作。它们与相应的 xxx_WRITE_ALLOW_WRITExxx_WRITE_CONCURRENT_INSERTxxx_WRITE_LOW_PRIORITYxxx_WRITE_NORMAL 列的总和相同。

  • COUNT_READ_NORMAL, SUM_TIMER_READ_NORMAL, MIN_TIMER_READ_NORMAL, AVG_TIMER_READ_NORMAL, MAX_TIMER_READ_NORMAL

    这些列聚合内部读锁。

  • COUNT_READ_WITH_SHARED_LOCKS, SUM_TIMER_READ_WITH_SHARED_LOCKS, MIN_TIMER_READ_WITH_SHARED_LOCKS, AVG_TIMER_READ_WITH_SHARED_LOCKS, MAX_TIMER_READ_WITH_SHARED_LOCKS

    这些列聚合内部读锁。

  • COUNT_READ_HIGH_PRIORITY, SUM_TIMER_READ_HIGH_PRIORITY, MIN_TIMER_READ_HIGH_PRIORITY, AVG_TIMER_READ_HIGH_PRIORITY, MAX_TIMER_READ_HIGH_PRIORITY

    这些列聚合内部读锁。

  • COUNT_READ_NO_INSERT, SUM_TIMER_READ_NO_INSERT, MIN_TIMER_READ_NO_INSERT, AVG_TIMER_READ_NO_INSERT, MAX_TIMER_READ_NO_INSERT

    这些列聚合内部读锁。

  • COUNT_READ_EXTERNAL, SUM_TIMER_READ_EXTERNAL, MIN_TIMER_READ_EXTERNAL, AVG_TIMER_READ_EXTERNAL, MAX_TIMER_READ_EXTERNAL

    这些列聚合外部读锁。

  • COUNT_WRITE_ALLOW_WRITE, SUM_TIMER_WRITE_ALLOW_WRITE, MIN_TIMER_WRITE_ALLOW_WRITE, AVG_TIMER_WRITE_ALLOW_WRITE, MAX_TIMER_WRITE_ALLOW_WRITE

    这些列聚合内部写锁。

  • COUNT_WRITE_CONCURRENT_INSERT, SUM_TIMER_WRITE_CONCURRENT_INSERT, MIN_TIMER_WRITE_CONCURRENT_INSERT, AVG_TIMER_WRITE_CONCURRENT_INSERT, MAX_TIMER_WRITE_CONCURRENT_INSERT

    这些列聚合内部写锁。

  • COUNT_WRITE_LOW_PRIORITY, SUM_TIMER_WRITE_LOW_PRIORITY, MIN_TIMER_WRITE_LOW_PRIORITY, AVG_TIMER_WRITE_LOW_PRIORITY, MAX_TIMER_WRITE_LOW_PRIORITY

    这些列聚合内部写锁。

  • COUNT_WRITE_NORMAL, SUM_TIMER_WRITE_NORMAL, MIN_TIMER_WRITE_NORMAL, AVG_TIMER_WRITE_NORMAL, MAX_TIMER_WRITE_NORMAL

    这些列聚合内部写锁。

  • COUNT_WRITE_EXTERNAL, SUM_TIMER_WRITE_EXTERNAL, MIN_TIMER_WRITE_EXTERNAL, AVG_TIMER_WRITE_EXTERNAL, MAX_TIMER_WRITE_EXTERNAL

    这些列聚合外部写锁。

table_lock_waits_summary_by_table 表具有以下索引:

  • OBJECT_TYPE( , OBJECT_SCHEMA, OBJECT_NAME) 上的唯一索引

TRUNCATE TABLE对于表锁汇总表是允许的。它将汇总列重置为零而不是删除行。