乙個事務讀取到另乙個事務中未提交的資料,另乙個事務中資料可能進行了改變,此時a事務讀取的資料可能和資料庫中資料時不一致的,此時認為資料是髒資料,讀取髒資料的過程就叫做髒讀。
1.主要針對的是某行資料
2.主要針對的操作是修改操作
3.兩次讀取在同乙個事務內
當事務a第一次讀取事務後,事務b對事務a讀取的淑君
進行修改,事務 a 中再次讀取的資料和之前讀取的資料不一致,過
程不可重複讀.
1.主要針對的操作是新增或刪除
2.兩次事務的結果.
3.事務a按照特定條件查詢出結果,事務b新增了一條符合
條件的資料.事務 a 中查詢的資料和資料庫中的資料不一致的,事
務 a 好像出現了幻覺,這種情況稱為幻讀.
default: 預設值,由底層資料庫自動判斷應該使用什麼隔離界別
read_uncommitted: 可以讀取未提交資料,可能出現髒讀,不
重複讀,幻讀.(效率最高)
read_committed:只能讀取其他事務已提交資料.可以防止髒
讀,可能出現不可重複讀和幻讀.
repeatable_read: 讀取的資料被新增鎖,防止其他事務修改
此資料,可以防止不可重複讀.髒讀,可能出現幻讀.
serializable: 排隊操作,對整個表新增鎖.乙個事務在運算元
據時,另乙個事務等待事務操作完成後才能操作這個表.(最安全,效率低)
mysql事務 事務隔離isolation
總結事務是要保證一組資料庫操作,要麼全部執行成功,要麼都不執行。mysql支援多引擎,但是並不是所有引擎都支援事務,mysql中只有使用了innodb資料庫引擎才支援事務。事務的特性 acid atomicity原子性,consistency一致性,isolation隔離性,durability永續...
spring事務的isolation(隔離級別)
spring框架的 事務有4種隔離級別 隔離級別 名稱含義 髒讀不可重複讀 幻讀讀未提交 isolation read uncommitted t1讀取t2未提交的東西vv v讀已提交 isolation read committed mysql預設,事務提交後可讀xv v可重複讀 isolatio...
事務隔離級別
1 serializable 最嚴格的spring事務隔離級別,事務序列執行,資源消耗最大 3 read committed 大多數主流資料庫的預設spring事務隔離等級,保證了乙個事務不會讀到另乙個並行事務已修改但未提交的資料,避免了 髒讀取 該級別適用於大多數系統。4 read uncommi...