以下部分描述表 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
允许用于表锁摘要表。它将摘要列重置为零,而不是删除行。