Each statement sees only data committed before it began. Default for most databases.
All statements in the transaction see the same snapshot taken at the start of the transaction.
Transactions execute as if they were run one at a time. Strongest guarantee but lowest throughput.
Database transaction isolation level. Controls the visibility of changes made by concurrent transactions, trading off between consistency and performance.