Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

29.12.20.8 表I/O和锁等待摘要表

以下部分描述表I/O和锁等待摘要表:

29.12.20.8.1 The table_io_waits_summary_by_table Table

table_io_waits_summary_by_table 表聚合了所有表I/O等待事件,由 wait/io/table/sql/handler 仪器生成。分组是按表。

table_io_waits_summary_by_table 表具有以下分组列,以指示表如何聚合事件:OBJECT_TYPEOBJECT_SCHEMAOBJECT_NAME。这些列的含义与 events_waits_current 表中的含义相同。它们标识了该行应用的表。

table_io_waits_summary_by_table 具有以下汇总列,包含聚合值。如列描述所示,一些列是更general的,具有与更fine-grained列相同的值。例如,聚合所有写入的列持有对应的插入、更新和删除列的总和。在这种方式下,高级别的聚合直接可用,无需用户定义视图来总和低级别列。

  • COUNT_STARSUM_TIMER_WAITMIN_TIMER_WAITAVG_TIMER_WAITMAX_TIMER_WAIT

    这些列聚合所有I/O操作。它们是对应的 xxx_READxxx_WRITE 列的总和。

  • COUNT_READSUM_TIMER_READMIN_TIMER_READAVG_TIMER_READMAX_TIMER_READ

    这些列聚合所有读取操作。它们是对应的 xxx_FETCH 列的总和。

  • COUNT_WRITESUM_TIMER_WRITEMIN_TIMER_WRITEAVG_TIMER_WRITEMAX_TIMER_WRITE

    这些列聚合所有写入操作。它们是对应的 xxx_INSERTxxx_UPDATExxx_DELETE 列的总和。

  • COUNT_FETCHSUM_TIMER_FETCHMIN_TIMER_FETCHAVG_TIMER_FETCHMAX_TIMER_FETCH

    这些列聚合所有fetch操作。

  • COUNT_INSERTSUM_TIMER_INSERTMIN_TIMER_INSERTAVG_TIMER_INSERTMAX_TIMER_INSERT

    这些列聚合所有插入操作。

  • COUNT_UPDATESUM_TIMER_UPDATEMIN_TIMER_UPDATEAVG_TIMER_UPDATEMAX_TIMER_UPDATE

    这些列聚合所有更新操作。

  • COUNT_DELETESUM_TIMER_DELETEMIN_TIMER_DELETEAVG_TIMER_DELETEMAX_TIMER_DELETE

    这些列聚合所有删除操作。

The table_io_waits_summary_by_table 表具有以下索引:

  • 唯一索引(OBJECT_TYPEOBJECT_SCHEMAOBJECT_NAME

TRUNCATE TABLE 在表 I/O 摘要表中是允许的。它将摘要列重置为零,而不是删除行。截断该表也将截断 table_io_waits_summary_by_index_usage 表。

29.12.20.8.2 表io等待摘要按索引使用情况统计表

The table_io_waits_summary_by_index_usage 表聚合所有表索引 I/O 等待事件,如由 wait/io/table/sql/handler 仪表生成。分组是按表索引。

The columns of 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

The table_io_waits_summary_by_index_usage 表具有以下索引:

  • 唯一索引(OBJECT_TYPEOBJECT_SCHEMAOBJECT_NAMEINDEX_NAME

TRUNCATE TABLE 在表 I/O 摘要表中是允许的。它将摘要列重置为零,而不是删除行。该表也将被 table_io_waits_summary_by_table 表的截断所截断。DDL 操作更改表的索引结构可能会重置每个索引的统计信息。

29.12.20.8.3 表锁等待摘要按表统计表

The 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_TYPEOBJECT_SCHEMAOBJECT_NAME。这些列的含义与events_waits_current表中的相同。它们标识应用于该行的表。

table_lock_waits_summary_by_table表具有以下汇总列,包含聚合值。如列描述所示,一些列是更通用的,具有与更细粒度列的和相同的值。例如,聚合所有锁的列持有对应的读锁和写锁列的和。在这种方式下,高级别的聚合直接可用,无需用户定义视图来总和低级别列。

  • COUNT_STARSUM_TIMER_WAITMIN_TIMER_WAITAVG_TIMER_WAITMAX_TIMER_WAIT

    这些列聚合所有锁操作。它们是对应的xxx_READxxx_WRITE列的和。

  • COUNT_READSUM_TIMER_READMIN_TIMER_READAVG_TIMER_READMAX_TIMER_READ

    这些列聚合所有读锁操作。它们是对应的xxx_READ_NORMALxxx_READ_WITH_SHARED_LOCKSxxx_READ_HIGH_PRIORITYxxx_READ_NO_INSERT列的和。

  • COUNT_WRITESUM_TIMER_WRITEMIN_TIMER_WRITEAVG_TIMER_WRITEMAX_TIMER_WRITE

    这些列聚合所有写锁操作。它们是对应的xxx_WRITE_ALLOW_WRITExxx_WRITE_CONCURRENT_INSERTxxx_WRITE_LOW_PRIORITYxxx_WRITE_NORMAL列的和。

  • COUNT_READ_NORMALSUM_TIMER_READ_NORMALMIN_TIMER_READ_NORMALAVG_TIMER_READ_NORMALMAX_TIMER_READ_NORMAL

    这些列聚合内部读锁。

  • COUNT_READ_WITH_SHARED_LOCKSSUM_TIMER_READ_WITH_SHARED_LOCKSMIN_TIMER_READ_WITH_SHARED_LOCKSAVG_TIMER_READ_WITH_SHARED_LOCKSMAX_TIMER_READ_WITH_SHARED_LOCKS

    这些列聚合内部读锁。

  • COUNT_READ_HIGH_PRIORITYSUM_TIMER_READ_HIGH_PRIORITYMIN_TIMER_READ_HIGH_PRIORITYAVG_TIMER_READ_HIGH_PRIORITYMAX_TIMER_READ_HIGH_PRIORITY

    这些列聚合内部读锁。

  • COUNT_READ_NO_INSERTSUM_TIMER_READ_NO_INSERTMIN_TIMER_READ_NO_INSERTAVG_TIMER_READ_NO_INSERTMAX_TIMER_READ_NO_INSERT

    这些列聚合内部读锁。

  • COUNT_READ_EXTERNALSUM_TIMER_READ_EXTERNALMIN_TIMER_READ_EXTERNALAVG_TIMER_READ_EXTERNALMAX_TIMER_READ_EXTERNAL

    这些列聚合外部读锁。

  • COUNT_WRITE_ALLOW_WRITESUM_TIMER_WRITE_ALLOW_WRITEMIN_TIMER_WRITE_ALLOW_WRITEAVG_TIMER_WRITE_ALLOW_WRITEMAX_TIMER_WRITE_ALLOW_WRITE

    这些列聚合内部写锁。

  • COUNT_WRITE_CONCURRENT_INSERTSUM_TIMER_WRITE_CONCURRENT_INSERTMIN_TIMER_WRITE_CONCURRENT_INSERTAVG_TIMER_WRITE_CONCURRENT_INSERTMAX_TIMER_WRITE_CONCURRENT_INSERT

    这些列聚合内部写锁。

  • COUNT_WRITE_LOW_PRIORITYSUM_TIMER_WRITE_LOW_PRIORITYMIN_TIMER_WRITE_LOW_PRIORITYAVG_TIMER_WRITE_LOW_PRIORITYMAX_TIMER_WRITE_LOW_PRIORITY

    这些列聚合内部写锁。

  • COUNT_WRITE_NORMALSUM_TIMER_WRITE_NORMALMIN_TIMER_WRITE_NORMALAVG_TIMER_WRITE_NORMALMAX_TIMER_WRITE_NORMAL

    这些列聚合内部写锁。

  • COUNT_WRITE_EXTERNALSUM_TIMER_WRITE_EXTERNALMIN_TIMER_WRITE_EXTERNALAVG_TIMER_WRITE_EXTERNALMAX_TIMER_WRITE_EXTERNAL

    这些列聚合外部写锁。

table_lock_waits_summary_by_table 有以下索引:

  • 唯一索引在 (OBJECT_TYPEOBJECT_SCHEMAOBJECT_NAME)

TRUNCATE TABLE 在表锁摘要表中是允许的。它将摘要列重置为零,而不是删除行。