我需要每天加载一个包含~18M记录的表,并且为了最小化客户端的停机时间,我们有加载temp的方法然后交换表名。见下面的流程
表A是原始表,表TMP是临时表
还有其他方式交换表名吗?或任何其他方式来实现这一目标?
非常感谢。
答案 0 :(得分:6)
使用同义词。
首先加载到TABLEA_YYYYMMDD
,重新创建约束等。
然后,
create or replace synonym tablea for tablea_yyyymmdd
最后,如果您愿意,请删除上一页 tablea_yyyymmdd
。
答案 1 :(得分:2)
您可以拥有两个表A1
和A2
,以及两个同义词A
和TEMP
,而不是实际重命名表,然后您可以在每天都有桌子。
老实说,我认为重命名表可能是一种有效的方法,但是既然你要求其他方法可以做到,我以为我会填补。
答案 2 :(得分:0)
这是最好的方法。如果您愿意,可以删除并重新创建表而不是截断。祝你好运!