我正在使用PostgreSQL活動項目的數據庫。其中,我有一個8列的表。 此表包含數百萬行,因此爲了使表格更快地搜索,我想要將此表中的舊條目刪除並存儲到新的另一個表中。使用postgres將大量行從一個表移動到另一個新表的有效方法使用postgres
要做到這一點,我知道一種方法:
- 先選擇一些行
- 在這個表
- 比從主表中刪除創建新表
- 店這行。
但是它花費的時間太多,效率也不高。
所以我想知道在postgresql數據庫中執行此操作的最佳方法是什麼?
的PostgreSQL的版本:各行9.4.2.
約數:8000000
我想移動行:2000000
而不是移動「較大的舊的」數據量,將「較小的較新的」數據量移動到新的表中。只需指向這個新表格,或者重命名錶格即可完成切換。 –
另一個選項可能是調整主表上的查詢。但爲了能夠幫助你,你還沒有提供足夠的信息。閱讀:http://stackoverflow.com/tags/postgresql-performance/info然後[**編輯**](http://stackoverflow.com/posts/35837354/edit)你的問題,並添加缺少的信息 –
你有可擴展性問題。簡單的回答:不要使用Postgres進行搜索。將整件事導出到基於文本的搜索引擎(例如Elasticsearch)中並使用它。你會驚訝他們有多快。 – Bohemian