25.12.15.7 tableI/O 和锁定 await 摘要 table

以下各节描述了 tableI/O 和锁定 await 摘要 table:

25.12.15.7.1 table_io_waits_summary_by_tabletable

table_io_waits_summary_by_tabletable 汇总了wait/io/table/sql/handler工具生成的所有 tableI/Oawait 事件。按 table 分组。

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

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

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

tableI/O 摘要 table 允许TRUNCATE TABLE。它将摘要列重置为零,而不是删除行。截断该 table 也会截断table_io_waits_summary_by_index_usagetable。

25.12.15.7.2 table_io_waits_summary_by_index_usagetable

table_io_waits_summary_by_index_usagetable 汇总了wait/io/table/sql/handler工具生成的所有 table 索引 I/Oawait 事件。按 table 索引进行分组。

table_io_waits_summary_by_index_usage的列几乎与table_io_waits_summary_by_table相同。唯一的区别是附加的组列INDEX_NAME,它对应于记录 tableI/Oawait 事件时使用的索引名称:

  • PRIMARYtable 示 tableI/O 使用了主索引。

  • NULLtable 示 tableI/O 不使用索引。

  • 插入次数根据INDEX_NAME = NULL计算。

tableI/O 摘要 table 允许TRUNCATE TABLE。它将摘要列重置为零,而不是删除行。该 table 也通过table_io_waits_summary_by_tabletable 的截断而被截断。更改 table 的索引结构的 DDL 操作可能会导致重置每个索引的统计信息。

25.12.15.7.3 table_lock_waits_summary_by_tabletable

table_lock_waits_summary_by_tabletable 汇总了wait/lock/table/sql/handler工具生成的所有 table 锁 await 事件。按 table 分组。

下 table 包含有关内部和外部锁的信息:

  • 内部锁与 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_tabletable 具有以下分组列,以指示该 table 如何聚合事件:OBJECT_TYPEOBJECT_SCHEMAOBJECT_NAME。这些列的含义与events_waits_currenttable 中的含义相同。它们标识该行适用的 table。

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 锁定摘要 table 允许TRUNCATE TABLE。它将摘要列重置为零,而不是删除行。