Vertica
Vertica 中表的大小、審核和行數
在某些方案中,我需要為每個表找到壓縮大小、審計和行數。對於壓縮大小和行數,我嘗試使用
projection_storage
:SELECT anchor_table_schema, anchor_table_name, SUM(used_bytes), SUM(row_count) FROM v_monitor.projection_storage GROUP BY anchor_table_schema, anchor_table_name
但是對於空表(0 行),我得到了非零的 SUM(used_bytes)和 SUM(row_count)。所以這種方式不能正常工作。我
select audit('table_name')
為每個表計算審計,但速度非常慢。所以我的問題:
- 還有其他方法可以找到表的壓縮大小(可能還有行數)嗎?因為我得到了 80000000 字節而不是零。
- 是否有更快的方法來計算審計?我知道 vertica 每天都會為每個表計算審計,但我找不到結果的儲存位置。
使用以下查詢,您將獲得 Vertica 表的大小。
SELECT anchor_table_schema, anchor_table_name, SUM(used_bytes) / (1024 * 1024 * 1024) AS TABLE_SIZE_GB FROM v_monitor.projection_storage GROUP BY anchor_table_schema, anchor_table_name order by sum(used_bytes) desc;
查看最重要的查詢以檢查表大小
https://www.orahow.com/2018/06/how-to-check-size-of-tables-in-vertica.html
好吧,我想我可以回答我的一個問題。在 vertica 中,刪除操作不會從物理儲存中刪除行。因此,如果我有一個
MyTable
包含 10 000 行的表並且我做了delete MyTable;
,那麼MyTable
將具有相同的大小,因為它的行只是被標記為已刪除,但並沒有真正被清除。結果,如果我想獲得實際的行數,我就不能使用
projection_storage
表。