如果以未控制的方式執行並行交易,可能會導致以下幾種常見的問題:
1. 丟失更新(Lost Update)
- 問題描述:兩個並發交易讀取相同的數據並進行修改,最終一個交易的修改覆蓋了另一個交易的修改,導致其中一個更新丟失。
2. 髒讀(Dirty Read)
- 問題描述:一個交易讀取了另一個未提交交易的修改數據。如果讀取的交易最終回滾,則第一個交易所依賴的數據將變為無效。
3. 不可重複讀(Non-Repeatable Read)
- 問題描述:一個交易在兩個不同的時刻讀取同一筆記錄,但讀到的數據卻不同,因為在兩次讀取之間,另一個交易修改了該記錄並提交。
4. 幻讀(Phantom Read)
- 問題描述:一個交易在兩次查詢中讀取到的數據集不同,因為另一個交易在兩次查詢之間插入或刪除了數據。