本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理未排序區域的大小
載入大量新資料至已包含資料的資料表,或當您不隨著例行維護操作清空資料表時,未排序的區域會成長。若要避免長時間執行清空操作,請使用下列做法:
-
根據定期排程執行清空操作。
如果您以小量增量載入資料表 (例如每日更新,代表表格中資料列總數的一小部分),則VACUUM定期執行將有助於確保個別真空作業快速執行。
-
先執行最大型的載入。
如果您需要載入具有多項COPY作業的新資料表,請先執行最大負載。執行初始載入至新的或截斷的資料表時,所有資料會直接載入至排序的區域,因此不需要清空。
-
截斷資料表,而非刪除所有資料列。
從資料表刪除資料列不會回收該資料列佔用的空間,直到您執行清空操作為止;不過,截斷資料表會清空資料表和回收磁碟空間,因此不需要清空。或者,捨棄資料表和重新建立它。
-
截斷或捨棄測試資料表。
如果您因測試目的載入少量的資料列至資料表,在完成之前請勿刪除資料列。而是截斷資料表,並在後續生產載入操作中重新載入這些資料列。
-
執行深層複製。
如果使用複合排序索引鍵資料表的資料表有大型未排序的區域,深層複製較清空的速度快得多。深層複製會使用會自動重新排序資料表的大量插入來重新建立和重新填入資料表。如果資料表有大型未排序的區域,深層複製較清空的速度快得多。取捨是您不可以在深層複製操作期間進行並行更新,但清空期間卻可以。如需詳細資訊,請參閱設計查詢的 Amazon Redshift 最佳實務。