Postgres导入数据优化

时间:2018-07-29 10:12:50

标签: postgresql

我有一个postgres问题:

我有一个数据库,该数据库的表包含几周的数据(历史记录:3年)。应用程序显示数据。我默认在postgres中更改配置,以改善数据导入。

每天,表仅在当前星期刷新,因此脚本会删除当前星期,并将当前星期导入表中。 这需要40分钟,但我想我可以改善这一点。 如果我截断整个表并导入所有数据,则需要3个小时(7千兆字节)。

有比删除/插入更好的方法吗?

我可以仅使用当周数据创建另一个表,并在应用程序“联合”中使用     从tb_data联合中选择*全部从tb_data_week中选择* 我认为这样会更快,因为在数据周表中进行截断/插入将比在大表中进行删除/插入要快。 但是在应用程序中全部合并可能会很慢

非常感谢

1 个答案:

答案 0 :(得分:0)

您可以每周partition桌。

要导入每周数据,请插入新的空表中。导入完成后,删除旧的星期分区并使用alter table base_table attach partition ...

附加新分区

手册中提供了此过程的示例:Partition Maintenance