Comparison of isolation levels
The following table summarizes information about isolation levels.
NC | UR | CS | RS | RR | |
---|---|---|---|---|---|
Can the application see uncommitted changes made by other application processes? | Yes | Yes | No | No | No |
Can the application update uncommitted changes made by other application processes? | No | No | No | No | No |
Can the re-execution of a statement be affected by other application processes? See phenomenon P3 (phantom) below. | Yes | Yes | Yes | Yes | No |
Can “updated” rows be updated by other application processes? | Yes | No | No | No | No |
Can “updated” rows be read by other application processes that are running at an isolation level other than UR and NC? | Yes | No | No | No | No |
Can “updated” rows be read by other application processes that are running at the UR or NC isolation level? | Yes | Yes | Yes | Yes | Yes |
Can “accessed” rows be updated by other application
processes? For RS, “accessed rows” typically means rows selected. For RR, see the product-specific documentation. See phenomenon P2 (nonrepeatable read) below. |
Yes | Yes | Yes | No | No |
Can “accessed” rows be read by other application processes? | Yes | Yes | Yes | Yes | Yes |
Can “current” row be updated or deleted by other application processes? See phenomenon P1 (dirty-read) below. | See Note below | See Note below | See Note below | No | No |
Note: This
depends on whether the cursor that is positioned on the “current” row is updatable:
|
|||||
Examples of Phenomena:
|