我有大約10個表超過200萬條記錄和一個3000萬。我想從每個表中有效地移除較舊的數據。高效修剪postgresql表
我一般的算法是:
- 創建一個臨時表中的每個大表,並用新的數據來填充它
- 截斷原始表
- 複製tmp目錄數據重新使用原來的表:「插入into originaltable(select * from tmp_table)「
但是,將數據複製回去的最後一步比我想要的要長。我想過刪除原始表並使臨時表「永久」,但我失去了約束/外鍵信息。
如果我直接從表中刪除,則需要更長的時間。鑑於我需要保留所有外鍵和約束,是否有更快的方法來刪除舊數據?
謝謝。