因此,我经常不得不将数据加载到保持表中,以运行一些数据验证检查,然后返回结果。
通常,我先创建保持表,然后创建一个sqlldr控制文件,然后将数据加载到表中,然后运行查询。
我有什么理由要使用外部表代替它吗?
他们将以什么方式使我的生活更轻松?

最佳答案

外部表的最大优点是我们可以使用SQL从数据库内部查询它们。因此,我们可以将验证检查作为SELECT语句运行,而无需保留表。同样,如果我们需要对已加载的数据进行一些操作,则使用SQL而不是SQLLDR命令几乎总是更容易做到这一点。我们还可以使用DBMS_JOB/DBMS_SCHEDULER例程管理数据加载,这进一步减少了对Shell脚本和cron作业的需求。

但是,如果您已经拥有使用SQLLDR的成熟且稳定的过程,那么我承认您不太可能从移植到外部表中获得巨大 yield 。

在某些情况下,尤其是在加载数百万行的情况下,SQLLDR方法可能会更快。但是,差异不会被数据库的最新版本所标记。我完全希望SQLLDR最终会因为支持外部表而被弃用。

10-05 18:45