Should I use DB2 LOAD or IMPORT?

Use LOAD when:

  • Performance is critical. Load outperforms Import in all scenarios, sometimes by as much as a factor of 10 (May be closer to 6 times for UNIX systems).
  • You want to LOAD FROM CURSOR to avoid the creation of an intermediate file.

Use IMPORT when:

  • You have smaller tables.
  • You want additional “safety” in the case of an error.
  • Target table needs to be created from the input file (applicable to PC/IXF files only.)
  • Logging of every inserted record is necessary.
  • You require triggers to fire.
  • You need to be able to update the table while appending data to the table.

In general I would recommend IMPORT unless performance is absolutely critical or you have more than 10 million records (yes, that’s relatively arbitrary – the point is a LOT of data). The primary reason for this is that a botched load can send your entire table space into backup pending and leave you dead in the water. If you do decided to do a load, make sure you include steps to recover from the failed load (but that’s a topic for another day).

Leave a Reply