以下章節說明表格 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
表格會匯總所有表格 I/O 等待事件,這些事件由 wait/io/table/sql/handler
儀器產生。分組依據是表格。
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
) 上的唯一索引
允許對表格 I/O 摘要表格使用 TRUNCATE TABLE
。它會將摘要欄位重設為零,而不是移除資料列。截斷此表格也會截斷 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
) 上的唯一索引
允許對表格 I/O 摘要表格使用 TRUNCATE TABLE
。它會將摘要欄位重設為零,而不是移除資料列。截斷 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
。它會將摘要欄位重設為零,而不是移除資料列。