外部表与SQLLoader

mol*_*boy 7 oracle external-tables sql-loader

因此,我经常需要将数据加载到保存表中以运行一些数据验证检查,然后返回结果.通常,我创建保存表,然后创建一个sqlldr控制文件并将数据加载到表中,然后运行我的查询.是否有任何理由我应该使用外部表格来代替?他们会以什么方式让我的生活更轻松?

APC*_*APC 13

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

但是,如果你已经有一个使用SQLLDR的成熟稳定的进程,那么我承认你不太可能意识到从移植到外部表的巨大好处.

还有一些情况 - 特别是如果你要加载数百万行 - 其中SQLLDR方法可能要快得多.但是,差异不会与更新版本的数据库一致.我完全希望SQLLDR最终会被弃用,而不是外部表.