在大表上添加约束需要花费太多时间postgresql

时间:2017-08-08 09:46:52

标签: database postgresql constraints

我正在使用postgresql 9.6。我试图在具有3000万条记录且其大小为5G的特定表上添加约束。我几乎在表的所有列上添加了很多非空约束。我有两个问题: 1)在绩效方面有什么更好的行动:

a。运行每列的下一个查询:

alter table add constraint name check (xxx is not null)

b。为所有列添加一个约束检查不为空:

alter table add constraint name check (xxx is not null, yyy is not null, bbb is not null.....)

2)在第一种方法中,当表为空时,在表上创建约束大约需要125425 ms。当表填充数据时,它会运行几个小时但没有完成。

谢谢。

0 个答案:

没有答案