事務的特性與隔離級別

2021-09-26 02:34:20 字數 671 閱讀 2819

隔離級別

該級別會出現的問題

解釋read uncommitted

讀未提交

就是乙個事務可以讀取另乙個未提交事務的資料

read committed

讀已提交

就是乙個事務要等另乙個事務提交後才能讀取資料

repeatable read

可重複讀

重複讀,就是在開始讀取資料(事務開啟)時,不再允許修改操作

serializable

可序列化

事務安順序序列執行

那怎麼解決髒讀呢?read committed!讀提交,能解決髒讀問題。

那怎麼解決可能的不可重複讀問題?repeatable read !

什麼時候會出現幻讀?

事例:程式設計師某一天去消費,花了2千元,然後他的妻子去檢視他今天的消費記錄(全表掃瞄fts,妻子事務開啟),看到確實是花了2千元,就在這個時候,程式設計師花了1萬買了一部電腦,即新增insert了一條消費記錄,並提交。當妻子列印程式設計師的消費記錄清單時(妻子事務提交),發現花了1.2萬元,似乎出現了幻覺,這就是幻讀。

那怎麼解決幻讀問題?serializable!

注意: 大多數資料庫預設的事務隔離級別是read committed,比如sql server , oracle。mysql的預設隔離級別是repeatable read。

事務的ACID特性與隔離級別

事務所提供的安全保證,通常由眾所周知的首字母縮略詞acid來描述,acid代表原子性 atomicity 一致性 consistency 隔離性 isolation 和永續性 durability 乙個事務是乙個不可分割的工作單位,其中的操作要麼都做,要麼都不做。特徵是能夠在錯誤時終止事務,丟棄該事...

MySQL事務 特性 隔離級別

簡單來說事務就是要麼全都成功,要麼全部失敗的一組語句 事務的四種隔離級別 讀未提交 read committed 讀已提交 read uncommitted 可重複讀 repeatable read 可序列化 serializable 1.讀未提交 兩個事務同時操作乙個表,其中乙個事務修改了表中的資...

Spring 事務隔離級別與傳播特性

1.原理 a.spring事務的本質就是資料庫對事務的支援,沒有資料庫事務的支援,spring是無法提供事務功能的 b.純jdbc操作步驟 獲取連線 connection conn drivermanager.getconnection 開啟事務 conn.setautocommit true fa...