我正在使用 springJDBC 对 PostgresSQL 数据库的几个大表进行批量更新(超过两个第三个记录更新或对一个空表的INSERT)。这些表有大约一百万条记录。更新和插入非常慢。要更新的列正在参与约束(主键或外键)或具有索引,这似乎是缓慢的原因。所以我想删除
1。主键约束
2.Foreign键约束
3.在对表启动UPDATE和INSERT之前对表进行
,然后在UPDATE之后重新创建这些约束和索引和INSERT完成。
这是一种正确的方法吗?这种方法的任何缺点?
在此期间没有其他人使用这些表格。我运行了一个示例代码,这些都是性能方面的重大改进。