贓讀,不可重複讀,幻讀

2021-10-24 20:15:49 字數 310 閱讀 6931

贓讀:讀取了另乙個事務a未提交的記錄,存在事務a

回滾導致的資料錯誤(髒資料)

不可重複讀:對同乙個資料(已存在的資料)的多次查詢,結果都不相同-----和幻讀的區別,查詢的物件已存在但是資料值不同–面向的是值

幻讀:進行兩次查詢,出現意料之外的結果(多出了不存在的資料)----和不可重複讀的區別,查詢操作不變,但是結果突然多出來了資料–面向的是記錄數不對(count(*)多或少)

讀取未提交的事務-----導致贓讀

讀取提交過的事務----導致不可重複讀

重複讀隔離級別–導致幻讀

序列化的方式—沒問題

髒讀,不可重複讀,幻讀

髒讀,不可重複讀,幻讀是由於資料庫事務的隔離性導致的問題。髒讀 乙個事務讀取到了其它未提交事務操作的記錄。不可重複讀 乙個事務a內,首次查詢到一條相同記錄,然後事務b修改該條記錄並提交,事務a再次執行相同查詢,得到了事務b更新後的結果,事務a兩次相同的查詢,卻得到了不同的結果,這個叫做不可重複讀。是...

髒讀 不可重複讀 幻讀

髒讀 事務a使用了資料,但是還沒來得及提交,事務b就使用了這個資料,對於事務b來說就是髒讀。允許髒讀 sql server select from category with nolock 不可重複讀 事務a在9點和12點都會操作乙份資料,但是在10點的時候,事務b也操作了該份資料,並且使其數值進行...

髒讀 不可重複讀 幻讀

總結 對於不可重複讀和幻讀的區別是 不可重複讀圈了一塊地,這塊地不允許任何人動用,但是不管旁邊的地方是否開闢了一塊地。幻讀是不僅是圈的地,而且附近也不允許有新的地。這個對於區間查詢會有影響。所以不可重複讀和幻讀最大的區別是區間查詢的結果會不會一樣。幻讀保證結果一樣,但是不可重複讀不保證。mysql的...