1.Repeatable Read
If a transaction scans 1000 rows but only retrieves 10, locks are acquired and held on all 1000 rows scanned-- not just on the 10 rows retrieved.
2.Read Stability
Only the rows that are actually retrieved and/or modified by the isolating transaction are locked. Thus, if a transaction scans 1000 rows but only retrieves 10, locks are only acquired and held on the 10 rows retrieved -- not on all 1000 rows scanned.
Phantoms can occur(能产生幻象读)
3. Cursor Stability
Each row that is referenced by a cursor being used by the isolating transaction is locked as long as the cursor is positioned on that row. Furthermore, if the isolating transaction modifies any row it retrieves, no other transaction can update or delete that row until the isolating transaction is terminated, even after the cursor is no longer positioned on the modified row.
non-repeatable reads and phantoms can occur(能产生非重复读和幻象读)
4. Uncommitted Read
Because rows often remain unlocked when this isolation level is used, lost updates, dirty reads, non-repeatable reads, and phantoms can occur.
The Uncommitted Read isolation level is commonly used for transactions that access read-only tables and/or transactions that execute SELECT statements of which uncommitted data from other transactions will have no adverse affect.