表I / O和锁定等待摘要表
以下各节描述了表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表
该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_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- 这些列汇总了所有删除操作。 
该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表
该table_io_waits_summary_by_index_usage表汇总了wait/io/table/sql/handler仪器生成的所有表索引I / O等待事件。按表索引进行分组。
的列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表
该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_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_lock_waits_summary_by_table表具有以下索引:
- 对唯一索引(OBJECT_TYPE,OBJECT_SCHEMA,OBJECT_NAME)
TRUNCATE TABLE允许用于表锁定摘要表。它将摘要列重置为零,而不是删除行。
