引言
數據庫事務中談的最多的就是事務的隔離級別,事務並發還行中最常見的問題又有臟讀、幻讀、不可重復讀。這篇文章就主要來介紹一下這些問題。
臟讀
臟讀是指一個事務讀取到其他事務沒有提交的數據。
不可重復讀
不可重復讀是指一個事務內多次根據同一查詢條件查詢出來的同一行記錄的值不一致。
幻讀
幻讀是指一個事務內多次根據同一條件查詢出來的記錄行數不一致。
隔離級別與臟讀、幻讀、不可重復讀的關系
隔離級別 | 臟讀 | 不可重復讀 | 幻讀 |
---|---|---|---|
READ UNCOMMITED (讀未提交) | 允許 | 允許 | 允許 |
READ COMMITED (讀提交) | 不允許 | 允許 | 允許 |
REPEATABLE READ (可重復讀) | 不允許 | 不允許 | 允許 |
SERIALIZABLE (串行化) | 不允許 | 不允許 | 不允許 |