我正在使用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。当表填充数据时,它会运行几个小时但没有完成。
谢谢。