READ UNCOMMITTED |
|
|
|
|
|
- Example Use: Generating approximate reports in real-time dashboards.
|
READ COMMITTED (w/READ_COMMITTED_SNAPSHOT on) |
|
|
|
|
|
- Example Use: Typical OLTP workloads.
- The default isolation level in Azure SQL.
- Uses row versioning to prevent dirty reads without blocking.
|
READ COMMITTED (w/READ_COMMITTED_SNAPSHOT off) |
|
|
|
|
|
- Example Use: OLTP workloads where increased I/O & TempDB usage is a problem.
- The default isolation level in SQL Server.
- Uses locks to prevent dirty reads.
|
REPEATABLE READ |
|
|
|
|
|
- Example Use: Financial applications calculating intermediate results based on multiple reads.
|
SNAPSHOT |
|
|
|
|
|
-
Example Uses:
- Reporting and analytics workloads requiring a consistent snapshot of data.
- Ensuring application sees stable/coherent snapshots when querying change-tracked data.
- Uses versioning to provide a consistent view of data from start of transaction without blocking.
|
SERIALIZABLE |
|
|
|
|
|
- Example Use: Financial applications where transactions involve critical integrity constraints.
- Behaves like only one transaction can access data at a time.
|