差Vs髒讀
回答
完全相同的頁解釋了髒讀就是:
訪問尚未提交被認爲是一個髒讀,因爲它有可能被回滾到以前的值值的更新值。如果讀取的值稍後回滾,則您將讀取無效值。
因此,不可重複讀取包括讀取兩個不同的提交值,而髒讀包括讀取尚未提交的值。很不一樣。
從here: -
髒讀一個事務讀取由另一個寫入的數據, 未提交,交易發生。骯髒讀取的危險是其他事務可能永遠不會提交,使原始事務 中的「髒」數據。
非重複讀取,當一個事務試圖兩次訪問 相同的數據和第二事務修改之間的 第一個事務的讀取嘗試數據發生。這可能會導致第一個事務爲相同的數據讀取兩個不同的值,導致原始讀取不可重複。
雖然怎麼可能?我的意思是在事務完成之後,防止不可重複讀取的唯一方法是在提交之後保持鎖定...無論如何遲早會有另一個連接(B)完成,以及如何防止先前由A – Rollerball
檢索到的那一行的更新或者每次只有一個連接可能寫入DBMS中。所以只要有一個到DBMS的活動連接,沒有其他連接可以實際更新這些特定行的數據庫(直到第一個連接關閉)我是對的嗎? – Rollerball
不可重複讀取是一個事務不能再次讀取的地方,除非另一個事務改變該行。在執行select語句時,當未獲取讀取鎖時,發生不可重複讀取。在需要通過提交衝突實現的事務時可能發生不可重複的讀取,必須放寬回滾。 –
- 1. Postgres的髒讀取
- 2. 髒讀處於休眠
- 3. SQL Server中的髒讀AlwaysOn
- 4. 實體框架和髒讀
- 5. TransactionScope,EF DbContext和髒讀
- 6. OpenSceneGraph Texture2D圖像「髒」vs「setImage」性能
- 7. 差異,VS $(本)
- 8. 差Vs「\ 2」
- 9. 差Vs HttpContext.Current.ApplicationInstance.Context
- 10. 差Vs randrange
- 11. 差Vs的AddHandler
- 12. 差Vs decodeStream
- 13. 差Vs DOMContentLoaded
- 14. Android中總私有髒,共享Pss,共享共享髒的差異
- 15. FileStream vs /差別StreamWriter?
- 16. 差異:JSONP vs GET
- 17. 差異xmemcached vs spymemcached
- 18. DDL VS DCL差異
- 19. ActiveJob/Resque髒讀。事務隔離級別
- 20. Azure文檔數據庫髒讀/寫
- 21. 避免髒讀取和寫入cassandra
- 22. 數據存儲髒讀取和刪除
- 23. 如何使骯髒的閱讀
- 24. 差異編譯VS 2015和VS 2010
- 25. 在多次插入事務中讀髒或幻讀?
- 26. 在甲骨文髒讀 - 如何讀取未提交備案
- 27. Smarty vs Twig的差異
- 28. iPhone SDK2.0 vs SDK3.0差異
- 29. 地板vs詮釋差異
- 30. 差異getHeight()vs mBottom - mTop
雖然怎麼可能?我的意思是在事務完成之後,防止不可重複讀取的唯一方法是在提交之後保持鎖定......無論如何遲早會完成另一個連接(B),以及如何防止更新以前由A – Rollerball
檢索的行或者每次只有1個連接可能寫入DBMS。所以只要有一個到DBMS的活動連接,沒有其他連接可以實際更新這些特定行的數據庫(直到第一個連接關閉)我是對的嗎? – Rollerball
只有在事務持續時間內才能保證可重複讀取:您啓動事務T1,讀取A1,然後另一個事務T2將A1修改爲A2並進行提交,然後第一個事務T1重新讀取該值,並仍然讀取A1 。這是一個可重複的閱讀。當然,T2提交後第一次讀取該值的另一個事務T3將讀取提交的值A2。要知道數據庫如何實現它,請閱讀其文檔。他們大多使用[MVCC](http://en.wikipedia.org/wiki/Multiversion_concurrency_control),AFAIK。 –