以下部分描述表 I/O 和锁等待汇总表
table_io_waits_summary_by_index_usage:按索引使用情况统计表 I/O 等待table_io_waits_summary_by_table:按表统计表 I/O 等待table_lock_waits_summary_by_table:按表统计表锁等待
table_io_waits_summary_by_table 表聚合由 wait/io/table/sql/handler 仪器生成的表 I/O 等待事件。分组依据是表。
table_io_waits_summary_by_table 表包含以下分组列以指示表如何聚合事件:OBJECT_TYPE、OBJECT_SCHEMA 和 OBJECT_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_READ列的总和相同。xxx_WRITECOUNT_READ、SUM_TIMER_READ、MIN_TIMER_READ、AVG_TIMER_READ、MAX_TIMER_READ这些列聚合所有读取操作。它们与对应
列的总和相同。xxx_FETCHCOUNT_WRITE、SUM_TIMER_WRITE、MIN_TIMER_WRITE、AVG_TIMER_WRITE、MAX_TIMER_WRITE这些列聚合所有写入操作。它们与对应
、xxx_INSERT和xxx_UPDATE列的总和相同。xxx_DELETECOUNT_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 表。
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 操作可能会导致每个索引统计信息被重置。
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_TYPE, OBJECT_SCHEMA, 和 OBJECT_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_READ列之和相同。xxx_WRITECOUNT_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_INSERTCOUNT_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_NORMALCOUNT_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 允许用于表锁摘要表。它将摘要列重置为零,而不是删除行。