當我有一個讀取提交隔離級別設置並在我的事務中進行幻像讀取時會發生什麼情況。它會回滾並重新運行還是僅回滾?讀取已提交和幻像讀取(春季)
1
A
回答
1
不,它不會導致任何回滾。會發生什麼情況是您的代碼會看到不好的數據,並可能基於此做出糟糕的決定,就是這樣。
0
您可能會看到陳舊的數據(僅在第二次讀取時,該行在該表中具有更新的列)。爲了避免這些讓你的數據變壞的事情發生,使用樂觀鎖定。
2
除非我對Committed Read隔離的理解不可靠(總是有可能),否則Committed Read的整個意義在於,您無法看到Phantom Rows - 由另一個事務更改的行,但從未提交併隨後將其更改背部。因此,在應用程序級別,通過Committed Read隔離,應用程序無法看到幻影。
DBMS在內部做什麼取決於DBMS。在MVCC系統中,您的交易將簡單地讀取交易開始時提交的版本。在鎖定系統中,您可能會點擊另一個事務的鎖,然後您自己可能會跳過或阻止。但是,由於問題,AFAIK,DBMS不會回滾您的事務。
相關問題
- 1. 春季 - 只讀交易
- 2. LINQ to SQL結合讀取未提交和讀取提交
- 3. 瞭解SQL讀取提交和讀取未提交
- 4. 非重複讀取和幻像讀取有什麼區別?
- 5. JSP頁面未讀取已提交值
- 6. 春季表情讀取文件內容
- 7. MS ACCESS讀取未提交
- 8. 未提交讀取SSIS
- 9. 機械化提交和讀取響應
- 10. 春季webflux和從數據庫中讀取
- 11. 使用春季休眠,從只讀數據源讀取和寫入讀取/寫入數據源
- 12. 如何製作幻像讀取?
- 13. 通過javax.smartcardio讀取幻像NFC標籤
- 14. 春季屬性閱讀器
- 15. 春季Kafka Listner |閱讀
- 16. 從緩存讀取未提交的讀取?
- 17. 在春季提交表格
- 18. 春:不能讀取行家
- 19. 讀取已提交隔離級別下的更新?
- 20. ADO.NET隔離級別中沒有讀取已提交的快照?
- 21. 讀取已修改但尚未提交的數據
- 22. 讀取圖像
- 23. 春季批量自定義項目讀取器IllegalArgumentException
- 24. 春季啓動:讀取使用@Value或@ConfigurationProperties
- 25. 不同的行爲在春季讀取屬性文件
- 26. 春季集成從動態多個目錄中讀取文件
- 27. 讀取數據控制器使用在春季啓動
- 28. CannotLoadBeanClassException嘗試讀取性能在春季文件
- 29. 春季批處理讀取文件及相關記錄
- 30. 春季集成使用DSL從Unix位置讀取文件
看到「被另一個事務改變了行但從未提交併且以後回滾的行」實際上是一個髒讀,而不是一個幻影讀:http://en.wikipedia.org/wiki/Isolation_(database_systems ) – 2011-01-15 16:56:10