Bulk Load vs Direct Path Load

Overview about the main differences between direct path loads and bulk loads.
Direct path load (insert /*+append*/ as select…)

  • very fast (especially if no indexes on the target table)
  • always loads ABOVE the high water mark, so any existing free space not reclaimed
  • locks the object
  • you must commit/rollback at completion

Bulk Load (bulk collect into/forall insert)

  • fast (better than row at a time), but not as fast as direct load
  • can utilise existing free space
  • does not lock the object
  • additional work can be done in same transaction

Found by asktom.