我们正在尝试找出使用 Oracle (10gR2) 处理 BULK INSERT 的最佳方法,我发现这可能是一个相当复杂的主题。我发现的一种方法涉及使用 Append 优化器提示:
INSERT /*+ Append*/
INTO some_table (a, b)
VALUES (1, 2)
我的理解是,这将告诉 Oracle 忽略索引并将结果放在表的末尾。然后,我要做的就是重建索引:
ALTER INDEX some_index REBUILD
这比尝试将 SQL*Loader 作为外部进程启动或执行一些 pl/SQL 更容易。这似乎太容易了。有什么我想念的吗?如果我采取这种方法,有什么事情会反过来咬我吗?