在postgresql中,我有一个包含一百万条记录的源表(staging表)和一个包含一百万条记录的目标表(application表)。移动应用程序正在使用目标表(同步)。
我必须从源表到目标表进行合并(冲突时插入),并且有条件地删除目标表中的一些记录。这必须每4小时发生一次(因为stage表中的数据来自不同的源系统)。由于一些代码维护的原因,我不应该使用存储过程。
我可以使用jdbc以不同的偏移量和限制并行执行多个查询吗?它会提高性能吗?
插入测试。。。选择。。。从测试\u stg order by。。偏移量0行仅在冲突时获取前1000行(约束…)do update set。。。
在java代码的单个事务(原子)中并行运行查询的最佳方式是什么?
注意:我可以在目标表中执行delete操作,只要我成功地将stage合并到实际表。
1条答案
按热度按时间gc0ot86w1#
我会一次性删除和插入/更新,类似这样:
我不会从任何其他性能优化开始。保持简单和直截了当,大多数时候效果最好。如果你没有问题,你就不能解决任何问题。