目錄
介紹
1.事務四種特性
1.1原子
1.2一緻性
1.3隔離性
1.4持久性
2.并發可能會出現的情況
2.1髒讀
2.2不可重複讀
2.3幻讀
總結重點
3.事務的四種隔離級别
3.1讀未送出read-uncommitted
3.2不可重複讀
3.3可重複讀
3.4串行化
介紹
這裡介紹下 從事務 到 并發可能出現情況,到資料庫事務隔離級别,以及隔離級别對應的情況。
1.事務四種特性
1.1原子
事務開始幹活,要麼全做完,要麼全部沒做完,直接復原,不可能停留在中間情況。事務發生任何問題,都直接復原到執行前狀态。

1.2一緻性
事務開始前和執行後,資料庫的完整限制性不會被改變,不會發生改變,像銀行a向b賺錢,a扣了錢,b就必須增長錢
1.3隔離性
事務之間進行隔離,同一條資料一個事務操作其他事務不能操作,不會出現事務a做事,事務b也操作同一份資料情況。像a從銀行取錢,b這個時候不能向a存錢,隻有a完成後b才可以,完全隔離開
1.4持久性
事務完成後,所有更新的結果都會儲存到資料庫,并且不會發生復原情況。
2.并發可能會出現的情況
2.1髒讀
- 示例:事務a讀取到事務b修改了的資料,這時事務b復原了資料,事務a讀到的就是髒資料。
2.2不可重複讀
- 示例: 事務a多次讀取同一資料,當中事務b更新并送出,事務a發現多次讀到的不一樣,就是不可重複讀。
- 重點:事務b在事務a的多次讀取中,做了修改
2.3幻讀
- 示例:事務a批量修改一批條件中資料,字段phone=aa ,這時 事務b新增一條資料 也滿足事務a修改資料的條件,最後事務a一看結果,我靠咋沒全改過來呢,哈哈,很逗啊,出現幻覺了,就是幻讀。
- 重點:事務a修改一批資料,事務b做了新增。
總結重點
- 不可重複讀出現在,修改情況下。
- 幻讀出現在新增情況下。
3.事務的四種隔離級别
3.1讀未送出read-uncommitted
會涉及到:髒讀、不可重複讀、幻讀 的情況
3.2不可重複讀
會設計到:不可重複讀、幻讀 的情況
3.3可重複讀
會涉及到: 幻讀 的情況
3.4串行化
三類情況都不會涉及到
ok