全部產品
Search
文件中心

PolarDB:SHOW COLUMNAR STATUS

更新時間:Jul 06, 2024

本文介紹了如何使用SHOW COLUMNAR STATUS語句查看當前庫下的列存資料量情況。

注意事項

執行個體版本需為5.4.19-16989811及以上

文法

SHOW COLUMNAR STATUS

樣本

SHOW COLUMNAR STATUS;
+---------------------+-------------+------------+--------------------+------+-------+-----------+-----------+-----------+------------+
| TSO                 | SCHEMA_NAME | TABLE_NAME | INDEX_NAME         | ID   | ROWS  | CSV_FILES | ORC_FILES | DEL_FILES | FILES_SIZE |
+---------------------+-------------+------------+--------------------+------+-------+-----------+-----------+-----------+------------+
| 7127209598129274944 | xxx_db      | sbtest1    | s1_col_index_$b243 | 1447 | 10    | 4         | 0         | 0         | 580        |
| 7127209598129274944 | xxx_db      | sbtest2    | s2_col_index_$a378 | 1469 | 81910 | 1         | 1         | 1         | 3565100    |
+---------------------+-------------+------------+--------------------+------+-------+-----------+-----------+-----------+------------+

返回結果說明:

列名

說明

TSO

列存索引最新一次提交的TSO。

SCHEMA_NAME

庫名。

TABLE_NAME

表名。

INDEX_NAME

列存索引名。

ID

列存索引的唯一標識。

ROWS

通過檔案統計的列存索引內的行數。

CSV_FILES

追加寫檔案的個數。

ORC_FILES

ORC檔案(列存隱藏檔)的個數。

DEL_FILES

儲存刪除行標記資料的檔案個數。

FILES_SIZE

所有檔案長度的總和,單位:B。

TSO代表列存最新一次提交的TSO,然後統計截止到該TSO,該庫下的所有列存索引表的統計資訊,可以理解每一個TSO就是一個快照版本,依次遞增。

說明

只有建立成功的列存索引才會顯示統計資訊,正在建立過程中的列存索引不會顯示。

常見問題

  1. 為什麼各種檔案個數會變化? 答:列存包含compaction操作來保證檔案的資料以排序鍵進行排序,例如將追加寫檔案轉成ORC檔案、ORC檔案間進行範圍排序等。

  2. 一段時間沒有更新資料,CSV_FILES追加寫的檔案個數為什麼不為0? 答:CSV_FILES追加寫檔案達到一定閾值條件才會觸發compaction轉成列式隱藏檔,根據分區劃分資料,每個分區可能會保留一個檔案,同時該類檔案的個數還取決於後台compaction的速度。

  3. ID列的作用? 答:使用者無需關心ID列,它只是對應每一個列存索引的唯一標識,具有全域唯一性,用於列存核心區分列存索引,解決列存索引名稱相同,刪除列存索引再建相同列存索引等問題,列存索引刪除再建時儘管名稱相同,唯一標識ID會不同。

  4. 列存索引的ROWS行數與主表select count(*)結果不相等嗎? 答:首先觀察列存索引是否已同步到最新Binlog位點,可通過SHOW COLUMNAR OFFSET查看列存索引同步位點。如果同步到最新位點,但是列存索引行數與主表不一致,請聯絡我們