ANSI Read Uncommitted and HCL OneDB Dirty Read isolation

The simplest isolation level, ANSI Read Uncommitted and HCL® OneDB® Dirty Read, amounts to virtually no isolation. When a program fetches a row, it places no locks, and it respects none; it simply copies rows from the database without regard to what other programs are doing.

A program always receives complete rows of data. Even under ANSI Read Uncommitted or HCL OneDB Dirty Read isolation, a program never sees a row in which some columns are updated and some are not. However, a program that uses ANSI Read Uncommitted or HCL OneDB Dirty Read isolation sometimes reads updated rows before the updating program ends its transaction. If the updating program later rolls back its transaction, the reading program processes data that never really existed (possibility number 4 in the list of concurrency issues).

ANSI Read Uncommitted or HCL OneDB Dirty Read is the most efficient isolation level. The reading program never waits and never makes another program wait. It is the preferred level in any of the following cases:
  • All tables are static; that is, concurrent programs only read and never modify data.
  • The table is held in an exclusive lock.
  • Only one program is using the table.