在INSERT和UPDATE之前删除列约束(键)和索引的任何缺点?

时间:2015-10-15 17:05:48

标签: sql postgresql jdbctemplate

我正在使用 springJDBC PostgresSQL 数据库的几个大表进行批量更新(超过两个第三个记录更新或对一个空表的INSERT)。这些表有大约一百万条记录。更新和插入非常慢。要更新的列正在参与约束(主键或外键)或具有索引,这似乎是缓慢的原因。所以我想删除

1。主键约束

2.Foreign键约束

3.在对表启动UPDATE和INSERT之前对表进行

,然后在UPDATE之后重新创建这些约束和索引和INSERT完成。

这是一种正确的方法吗?这种方法的任何缺点?

在此期间没有其他人使用这些表格。我运行了一个示例代码,这些都是性能方面的重大改进。

0 个答案:

没有答案