INNODB_CMP_PER_INDEX
和 INNODB_CMP_PER_INDEX_RESET
表格提供與 壓縮 InnoDB
表格和索引相關操作的狀態資訊,並針對資料庫、表格和索引的每種組合提供個別統計資料,以協助您評估特定表格的壓縮效能和實用性。
對於壓縮的 InnoDB
表格,表格資料和所有次要索引都會被壓縮。在此上下文中,表格資料被視為另一個索引,只是剛好包含所有欄位:叢集索引。
INNODB_CMP_PER_INDEX
和 INNODB_CMP_PER_INDEX_RESET
表格具有下列欄位
DATABASE_NAME
包含適用表格的結構描述(資料庫)。
TABLE_NAME
要監控壓縮統計資料的表格。
INDEX_NAME
要監控壓縮統計資料的索引。
COMPRESS_OPS
嘗試的壓縮操作次數。頁面會在建立空白頁面或未壓縮的修改記錄空間用完時壓縮。
COMPRESS_OPS_OK
成功的壓縮操作次數。從
COMPRESS_OPS
值減去此值可得出壓縮失敗的次數。將此值除以COMPRESS_OPS
值可得出壓縮失敗的百分比。COMPRESS_TIME
此索引壓縮資料所使用的總時間(以秒為單位)。
UNCOMPRESS_OPS
執行的解壓縮操作次數。只要壓縮失敗,或者在緩衝池中首次存取壓縮頁面且不存在未壓縮的頁面時,就會解壓縮壓縮的
InnoDB
頁面。UNCOMPRESS_TIME
此索引解壓縮資料所使用的總時間(以秒為單位)。
範例
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX\G
*************************** 1. row ***************************
database_name: employees
table_name: salaries
index_name: PRIMARY
compress_ops: 0
compress_ops_ok: 0
compress_time: 0
uncompress_ops: 23451
uncompress_time: 4
*************************** 2. row ***************************
database_name: employees
table_name: salaries
index_name: emp_no
compress_ops: 0
compress_ops_ok: 0
compress_time: 0
uncompress_ops: 1597
uncompress_time: 0
注意事項
使用這些表格來測量特定表格、索引或兩者的
InnoDB
表格壓縮的效率。您必須具有
PROCESS
權限才能查詢這些表格。使用
INFORMATION_SCHEMA
COLUMNS
表格或SHOW COLUMNS
陳述式來檢視有關這些表格欄位的其他資訊,包括資料類型和預設值。由於為每個索引收集個別測量值會造成相當大的效能負擔,因此預設情況下不會收集
INNODB_CMP_PER_INDEX
和INNODB_CMP_PER_INDEX_RESET
的統計資訊。您必須先啟用innodb_cmp_per_index_enabled
系統變數,才能對您要監控的壓縮表格執行操作。有關使用資訊,請參閱第 17.9.1.4 節,〈在執行階段監控 InnoDB 表格壓縮〉和第 17.15.1.3 節,〈使用壓縮資訊綱要表格〉。有關
InnoDB
表格壓縮的一般資訊,請參閱第 17.9 節,〈InnoDB 表格與頁面壓縮〉。