Choosing External Tables Versus SQL*Loader

The record parsing of external tables and SQL*Loader is very similar, so normally there is not a major performance difference for the same record format. However, due to the different architecture of external tables and SQL*Loader, there are situations in which one method may be more appropriate than the other.

Use external tables for the best load performance in the following situations:

  • You want to transform the data as it is being loaded into the database

  • You want to use transparent parallel processing without having to split the external data first

Use SQL*Loader for the best load performance in the following situations:

  • You want to load data remotely

  • Transformations are not required on the data, and the data does not need to be loaded in parallel

  • You want to load data, and additional indexing of the staging table is required