Isolation level

There are four levels of transaction isolation that are defined by the ANSI/ISO SQL. The SQL grammar for defining all four isolation levels is supported:
  • Read committed
  • Read uncommitted
  • Repeatable read
  • Serializable

The only isolation level that Netezza Performance Server SQL implements, however, is serializable, which provides the highest possible level of consistency.

These isolation levels prevent the following occurrences between concurrent transactions:
Dirty reads
A transaction reads data that is written by concurrent uncommitted transactions.
Nonrepeatable reads
A transaction rereads data that it previously read and finds that the data is modified by another transaction (that committed since the initial read).
Phantom read
A transaction reruns a query that returns a set of rows that satisfy a search condition and finds that the set of rows changed because of another recently committed transaction.
The following table describes the four isolation levels.
Table 1. Isolation levels
Isolation level Dirty read Nonrepeatable Phantom
read uncommitted Possible Possible Possible
read committed Not possible Possible Possible
repeatable read Not possible Not possible Possible
serializable Not possible Not possible Not possible