innodb支援sql1992標準中的四種隔離級別:read uncommitted、read committed、repeatable read、serializable。預設的隔離級別是repeatable read。
通過set transaction命令可以改變預設的隔離級別,為了讓這種改變對所有使用者的所有連線都生效,需要加上--transaction-isolation選項。
innodb通過不同的加鎖策略來實現不同的隔離級別
這是innodb預設的隔離級別。在乙個事務中,一致讀會讀到該事務中第一次讀到的那個快照。這就意味著,在同乙個事務中多次執行普通的select語句返回的結果是一致的。
對於加鎖讀(select ... for update或者select ... lock in share mode)、更新、刪除語句,鎖取決於語句是否使用了唯一索引或者範圍類的檢索條件。
參考
mysql隔離級別 MySQL 事務隔離級別
mysql innodb所提供的事務滿足acid的要求,事務是通過事務日誌中的redo log和undo log來實現原子性 undo log 一致性 undo log 永續性 redo log 事務通過鎖機制實現隔離性。1 事務隔離級別與實現read uncommitted 讀未提交 read c...
MySQL事務隔離級別
sql標準定義了4類隔離級別,包括了一些具體規則,用來限定事務內外的哪些改變是可見的,哪些是不可見的。低階別的隔離級一般支援更高的 併發處理,並擁有更低的系統開銷。read uncommitted 讀取未提交內容 在該隔離級別,所有事務都可以看到其他未提交事務的執行結果。本隔離級別很少用於實際應用,...
Mysql 事務隔離級別
mysql 5.5預設儲存引擎 表型別 使用的是innodb,它是支援acid特性的 acid,指資料庫的原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durability 乙個支援事務 transaction 的資料庫系統,必需要具有這四種特性,否...