首先需要了解什麼是快照讀,什麼是當前讀:
髒讀:讀取到另乙個事務未提交的資料。
不可重複讀:多次快照讀結果不一致,導致不可重複讀。
幻讀:多次快照讀的結果都是一致的,但是使用當前讀時,與快照讀的結果卻不一致,這就是幻讀。
(比如,使用快照讀查詢時明明不存在某條資料,而使用當前讀(比如insert時),卻發現某條資料已經卻是存在了(其他事務),導致插入報錯)。
read uncommited:解決原子性問題,避免被讀取到某個sql執行期間產生的部分髒結果,導致髒讀,最低隔離級別。
read committed:該隔離級別下的事務,只會查詢到其他事務已提交的資料,解決原子性問題、髒讀問題。
repeatable read:該隔離級別下的事務,多次快照讀的結果保證一致,解決原子性問題、髒讀問題、不可重複讀問題。
serializable:該隔離級別下的事務序列執行,解決原子性問題、髒讀問題、不可重複讀問題、幻讀問題。
mysql隔離級別 MySQL 事務隔離級別
mysql innodb所提供的事務滿足acid的要求,事務是通過事務日誌中的redo log和undo log來實現原子性 undo log 一致性 undo log 永續性 redo log 事務通過鎖機制實現隔離性。1 事務隔離級別與實現read uncommitted 讀未提交 read c...
mysql事務隔離級別詳解 事務的隔離級別詳解
事務的隔離級別 在資料庫操作中,為了有效保證併發讀取資料的正確性,提出的事務隔離級別。問題的提出 資料庫是要被廣大客戶所共享訪問的,那麼在資料庫操作過程中很可能出現以下幾種不確定情況。更新丟失 兩個事務都同時更新一行資料,乙個事務對資料的更新把另乙個事務對資料的更新覆蓋了。這是因為系統沒有執行任何的...
MySQL事務隔離級別
sql標準定義了4類隔離級別,包括了一些具體規則,用來限定事務內外的哪些改變是可見的,哪些是不可見的。低階別的隔離級一般支援更高的 併發處理,並擁有更低的系統開銷。read uncommitted 讀取未提交內容 在該隔離級別,所有事務都可以看到其他未提交事務的執行結果。本隔離級別很少用於實際應用,...