25.12.15.7 tableI/O 和锁定 await 摘要 table
以下各节描述了 tableI/O 和锁定 await 摘要 table:
-
table_io_waits_summary_by_index_usage:每个索引的 tableI/Oawait
-
table_io_waits_summary_by_table:每个 table 的 tableI/Oawait
-
table_lock_waits_summary_by_table:每个 table 的 table 锁 await
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_TYPE
,OBJECT_SCHEMA
和OBJECT_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_READ
和xxx_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_INSERT
,xxx_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
这些列汇总了所有删除操作。
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 事件时使用的索引名称:
-
值
PRIMARY
table 示 tableI/O 使用了主索引。 -
值
NULL
table 示 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_TYPE
,OBJECT_SCHEMA
和OBJECT_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_READ
和xxx_WRITE
列的总和相同。
COUNT_READ
,SUM_TIMER_READ
,MIN_TIMER_READ
,AVG_TIMER_READ
,MAX_TIMER_READ
这些列汇总了所有读锁操作。它们与相应的xxx_READ_NORMAL
,xxx_READ_WITH_SHARED_LOCKS
,xxx_READ_HIGH_PRIORITY
和xxx_READ_NO_INSERT
列的总和相同。
COUNT_WRITE
,SUM_TIMER_WRITE
,MIN_TIMER_WRITE
,AVG_TIMER_WRITE
,MAX_TIMER_WRITE
这些列汇总所有写锁定操作。它们与相应的xxx_WRITE_ALLOW_WRITE
,xxx_WRITE_CONCURRENT_INSERT
,xxx_WRITE_LOW_PRIORITY
和xxx_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。它将摘要列重置为零,而不是删除行。