当拥有一个包含4.5亿条记录和唯一约束(无主键,仅由6列组成的约束)的表时,如何在每天插入500万行时提高其性能。唯一约束性能
此刻我只是禁用约束,并在加载完成后启用它。但是这需要一些时间。
顺便说一句,有配套的约束没有唯一索引...它只会得到超级巨大
当拥有一个包含4.5亿条记录和唯一约束(无主键,仅由6列组成的约束)的表时,如何在每天插入500万行时提高其性能。唯一约束性能
此刻我只是禁用约束,并在加载完成后启用它。但是这需要一些时间。
顺便说一句,有配套的约束没有唯一索引...它只会得到超级巨大
如果您的导入过程,确保新行唯一性,你可以用NOVALIDATE
启用约束,那么现有的数据在表中没有被检查。
在这里看到: http://docs.oracle.com/cd/B28359_01/server.111/b28286/clauses002.htm#SQLRF52204
因此,这只会检查“新”行是否违规? – user2428207
如果使用NOVALIDATE启用,它只会检查启用约束后插入的记录。任何现有数据都不会被检查。 –
“对了,还有配套的约束......没有唯一索引” - 你是什么意思?约束背后必须有一个索引。或者你的意思是你有这个约束背后的非唯一索引? –