注:事務名稱
a事務b事務
讀未提交
修改未提交事務
生效不可重複讀
修改提交事務
生效可重複讀
修改提交事務
未生效序列化
b有查詢則a不能修改
------
事務的基本要素(acid)----- 原子性、一致性、隔離性、永續性
事務的併發問題 ----- 髒讀、不可重複讀、幻讀
事務隔離級別 -----讀未提交(read-uncommitted)、不可重複讀(read-committed)、可重複讀(repeatable-read)、序列化(serializable)
--檢視當前回話事務級別
select @@tx_isolation
--設定當前回話事務級別
setsession
transaction
isolation
level
serializable
--開始事務
start
transaction
--提交事務
commit
--回滾事務
rollback
不可重複讀的和幻讀很容易混淆,不可重複讀側重於修改,幻讀側重於新增或刪除。解決不可重複讀的問題只需鎖住滿足條件的行,解決幻讀需要鎖表
可重複讀的隔離級別下使用了mvcc機制,select操作不會更新版本號,是快照讀(歷史版本);insert、update和delete會更新版本號,是當前讀(當前版本)。
不同事務對錶和行的影響
隔離級別越高,越能保證資料的完整性和一致性,但是對併發效能的影響也越大
MySQL 四種事務隔離級別
mysql 事務都是指在 innodb 引擎下,myisam 引擎不支援事務。顯而易見,能夠讀取到,其他事務未提交的資料。既然其他事務未提交,就代表資料可能會回滾,這也意味著,可能讀取到的資料根本就不存在。特點 能讀取其它事務未提交的資料。存在事務問題 髒讀,不可重複讀,幻讀 這個隔離級別,只能讀取...
MySQL的四種事務隔離級別
一 事務的基本要素 acid 1 原子性 atomicity 事務開始後所有操作,要麼全部做完,要麼全部不做,不可能停滯在中間環節。事務執行過程中出錯,會回滾到事務開始前的狀態,所有的操作就像沒有發生一樣。也就是說事務是乙個不可分割的整體,就像化學中學過的原子,是物質構成的基本單位。2 一致性 co...
mysql的四種事務隔離級別
一 事務的基本要素 acid 1 原子性 atomicity 事務開始後所有操作,要麼全部做完,要麼全部不做,不可能停滯在中間環節。事務執行過程中出錯,會回滾到事務開始前的狀態,所有的操作就像沒有發生一樣。也就是說事務是乙個不可分割的整體,就像化學中學過的原子,是物質構成的基本單位。2 一致性 co...