無法重複的讀取(Unrepeatable Read)

如果一個事務重複查找同一筆相同的資料,卻有不同的結果,就叫做 Unrepeatable Read。

流程圖

原資料為 AAA。

使用者_1 開始交易,並取得資料 AAA。

使用者_2 這時也開始交易,在使用者_1 取得第一次資料後,完成更新資料 BBB。

使用者_1 再次使用相同條件,取得第一次的資料得到 BBB。

解決

核心問題, A 事務在同一次事務未完成前,同樣的搜尋得到不同的結果。

若要避免此行為,必須確保交易在確認前不阻止其他讀取交易,但會阻止更新交易

鎖(Lock)

透過 隔離模式 Repeatable Read 解決。

Last updated

Was this helpful?