<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
前言:
因為InnoDB是支援事務的,所以只對InnoDB的事務進行討論。
事務是由一組SQL語句組成的邏輯處理單元,是一組不可分割的操作序列。
-- 開啟事務 start transaction; update user_count set balance = balance + 20 where id = 1; update user_count set balance = balance - 20 where id =2; -- 回滾事務 rollback; -- 提交事務 commit;
注意:在回滾和提交之前,資料庫中的資料都是操作的快取中的資料,而不是資料庫中的真實資料。
讀取到了未提交的資料。
髒讀對應的是read uncommitted讀未提交的事務隔離級別,即從快取中讀取資料,而不是讀取已經持久化的資料。
事務B在select的時候,讀取到了被事務A更新在快取的資料,但是該資料沒有真正的持久化到資料庫中,一旦事務A會滾,事務B就會讀到錯誤的髒資料。
一個事務在讀取某些資料已經發生了改變、或某些記錄已經被刪除了!這種現象叫做“不可重複讀”。
不可重複讀產生的場景對應的是read committed讀已提交的事務隔離級別,即事務讀取的資料都是已經完成持久化的資料。
同一事務內,同樣的篩選條件,查詢出來的資料條數發生了變化,(另一個事務搶到CPU進行了刪除或者插入條件),這種現象就稱為“幻讀” 。
幻讀產生的場景對應的是repeatable read可重複讀的事務隔離級別,事務讀取的資料都是已經完成持久化的資料,並且為事務在修改的資料增加行鎖,但是沒有表鎖。
不可重複讀針對的是同一條資料,讀的是別的事務修改之前的樣子,一旦事務的隔離級別使用了unrepeatable read,加上行鎖,就可以避免產生。
幻讀針對的是滿足篩選條件的一批資料,因為行鎖不能阻止插入和刪除資料,所以會導致查詢到的條數是錯誤的,使用serializable可以避免。
髒讀 | 不可重複讀 | 幻讀 | |
---|---|---|---|
read uncommitted | √ | √ | √ |
read committed | √ | √ | |
repeatable read | √ | ||
serializable |
設定表的隔離級別sql語言如下:
-- 查詢資料庫當前的隔離級別 select @@transaction_isolation -- 讀未提交 set session transaction isolation level read uncommitted; -- 讀已提交 set session transaction isolation level read committed; -- 不可重複讀 set session transaction isolation level repeatable read; -- 序列化(序列執行) set session transaction isolation level serializable;
讀快取裡面的資料,風險最高但是允許的並行最多
讀持久化的資料,不讀快取的資料,不加鎖
讀可持久化的資料的資料,並且新增行級鎖(一個事務在修改某行資料的時候,別的事務阻塞等待提交才能讀到)
最安全但是並行效率最低,讀持久化資料,並且加表鎖,如果事務並行的多,需要一直阻塞,不建議使用。
事務的隔離級別從低到高依次是 read uncommitted , read committed, repeatable read , serializable 。隔離級別越低,越能支援高並行的資料操作,與此同時,也會帶來越高的並行風險,Mysql資料庫預設的隔離級別是repeatable read 。
到此這篇關於Mysql事務的隔離級別(髒讀+幻讀+可重複讀)的文章就介紹到這了,更多相關Mysql事務隔離內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45