0
我有一個9.5M記錄的事實表。 該表使用distyle = key,並託管在具有2個「小」節點的RedShift羣集上。真空不回收磁盤空間
我在表格上做了很多UPDATE和DELETE操作,並且如我所料,我看到「真實」行數遠高於9.5M。
因此,我在桌子上運行了真空,令我驚訝的是,真空完成後,我仍然看到表中分配的「行數」沒有回到9.5M記錄。
請問您可能會建議什麼可能是這種行爲的原因?
什麼是最好的解決辦法?
從我的外殼複製粘貼的一點點:
我說的是事實表:
select count(1) from tbl_facts;
9597184
在DB的「真實」的多項紀錄:
select * from stv_tbl_perm where id= 332469;
slice | id | name | rows | sorted_rows | temp | db_id | insert_pristine | delete_pristine
-------+--------+--------------------------------------------------------------------------+----------+-------------+------+--------+-----------------+-----------------
0 | 332469 | tbl_facts | 24108360 | 24108360 | 0 | 108411 | 0 | 1
2 | 332469 | tbl_facts | 24307733 | 24307733 | 0 | 108411 | 0 | 1
3 | 332469 | tbl_facts | 24370022 | 24370022 | 0 | 108411 | 0 | 1
1 | 332469 | tbl_facts | 24597685 | 24597685 | 0 | 108411 | 0 | 1
3211 | 332469 | tbl_facts | 0 | 0 | 0 | 108411 | 3 | 0
(全部共計近100M記錄)。
非常感謝!
確定真空完成後,檢查STL_VACUUM和STL_VACUUM_DETAIL表看有多少行被排序和刪除。真空中有多個階段,您可能只想運行真空刪除一次,以查看它是否實際上並未刪除行。 – androboy