事務的特性 acid
原子性一致性
隔離性永續性
通過redolog 和 doublewrite(頁損壞的情況) 實現永續性
事務什麼時候開啟
預設自動開啟,自動提交。
通過begin;命令顯式開啟事務;通過commit;/rollback;結束事務。
事務的隔離級別
讀未提交
存在的問題:髒讀、不可重複讀、幻讀
讀已提交
存在的問題:不可重複讀(update,delete)、幻讀
可重複讀
存在的問題:幻讀(insert)
序列化存在的問題:效能太低
mysql解決可重複讀
意向鎖提高加表鎖的效率
鎖的到底是什麼?
鎖的是索引,假如是輔助索引還會鎖其對應的主鍵。
mysql事務與鎖機制 mysql事務與鎖機制
在併發下事務會容易出現的一些問題 資料更新丟失 兩個事務同時操作一條資料,乙個事務因為異常導致資料更新丟失 髒讀 乙個失誤開始讀取了某行資料,另外乙個事務已經更新了此資料但沒有能夠及時提交。這是相當危險的,因為很可能所有的操作都被回滾。不可重複讀 乙個事務對同一行資料重複讀取兩次,但是卻得到了不同的...
MySQL 事務與鎖詳解
一系列的資料庫操作,這些操作必須全部執行,否則全部不執行。例如一些和銀行賬戶訪問相關的資料庫操作,必須得保證每乙個操作得執行。由於為了加快資料庫的操作,需要資料庫支援併發,這樣就可能會產生多個事務同時操作同一張表,這樣就可能產生一些衝突。如下 既然存在這些衝突,於是下面引出事務的隔離級別概念,他們就...
mysql鎖與事務總結
未提交讀,乙個事務查詢到另乙個事務未提交資料 髒讀 提交讀,乙個事務中兩次查詢可能查出不同資料 不可重複讀 可重複讀,乙個事務中每次查詢到的資料集相同 幻讀 串性化mysql資料引擎innodb,支援事務,預設使用行鎖,行鎖開銷大但粒度小,併發處理能力高。當執行insert update delet...