我正在使用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