亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

2024-07-24 13:05:45
字體:
來源:轉載
供稿:網友

數據庫隔離級別有四種,應用《高性能mysql》一書中的說明:

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

然后說說修改事務隔離級別的方法:

1.全局修改,修改mysql.ini配置文件,在最后加上

復制代碼 代碼如下:


 #可選參數有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.
 [mysqld]
 transaction-isolation = REPEATABLE-READ

這里全局默認是REPEATABLE-READ,其實MySQL本來默認也是這個級別

2.對當前session修改,在登錄mysql客戶端后,執行命令:

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

要記住mysql有一個autocommit參數,默認是on,他的作用是每一條單獨的查詢都是一個事務,并且自動開始,自動提交(執行完以后就自動結束了,如果你要適用select for update,而不手動調用 start transaction,這個for update的行鎖機制等于沒用,因為行鎖在自動提交后就釋放了),所以事務隔離級別和鎖機制即使你不顯式調用start transaction,這種機制在單獨的一條查詢語句中也是適用的,分析鎖的運作的時候一定要注意這一點

再來說說鎖機制:
共享鎖:由讀表操作加上的鎖,加鎖后其他用戶只能獲取該表或行的共享鎖,不能獲取排它鎖,也就是說只能讀不能寫

排它鎖:由寫表操作加上的鎖,加鎖后其他用戶不能獲取該表或行的任何鎖,典型是mysql事務中

復制代碼 代碼如下:


start transaction;
select * from user where userId = 1 for update;

執行完這句以后

  1)當其他事務想要獲取共享鎖,比如事務隔離級別為SERIALIZABLE的事務,執行

復制代碼 代碼如下:


  select * from user;

   將會被掛起,因為SERIALIZABLE的select語句需要獲取共享鎖

  2)當其他事務執行

復制代碼 代碼如下:


select * from user where userId = 1 for update;
update user set userAge = 100 where userId = 1;

也會被掛起,因為for update會獲取這一行數據的排它鎖,需要等到前一個事務釋放該排它鎖才可以繼續進行

鎖的范圍:

行鎖: 對某行記錄加上鎖
表鎖: 對整個表加上鎖

這樣組合起來就有,行級共享鎖,表級共享鎖,行級排他鎖,表級排他鎖

下面來說說不同的事務隔離級別的實例效果,例子使用InnoDB,開啟兩個客戶端A,B,在A中修改事務隔離級別,在B中開啟事務并修改數據,然后在A中的事務查看B的事務修改效果:

1.READ-UNCOMMITTED(讀取未提交內容)級別

  1)A修改事務級別并開始事務,對user表做一次查詢

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  2)B更新一條記錄

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  3)此時B事務還未提交,A在事務內做一次查詢,發現查詢結果已經改變

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  4)B進行事務回滾

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  5)A再做一次查詢,查詢結果又變回去了

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  6)A表對user表數據進行修改

   

  7)B表重新開始事務后,對user表記錄進行修改,修改被掛起,直至超時,但是對另一條數據的修改成功,說明A的修改對user表的數據行加行共享鎖(因為可以使用select)

   

  可以看出READ-UNCOMMITTED隔離級別,當兩個事務同時進行時,即使事務沒有提交,所做的修改也會對事務內的查詢做出影響,這種級別顯然很不安全。但是在表對某行進行修改時,會對該行加上行共享鎖

2. READ-COMMITTED(讀取提交內容)

  1)設置A的事務隔離級別,并進入事務做一次查詢

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  2)B開始事務,并對記錄進行修改

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  3)A再對user表進行查詢,發現記錄沒有受到影響

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  4)B提交事務

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  5)A再對user表查詢,發現記錄被修改

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  6)A對user表進行修改

   

  7)B重新開始事務,并對user表同一條進行修改,發現修改被掛起,直到超時,但對另一條記錄修改,卻是成功,說明A的修改對user表加上了行共享鎖(因為可以select)

   

   

  READ-COMMITTED事務隔離級別,只有在事務提交后,才會對另一個事務產生影響,并且在對表進行修改時,會對表數據行加上行共享鎖

3. REPEATABLE-READ(可重讀)

  1)A設置事務隔離級別,進入事務后查詢一次

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  2)B開始事務,并對user表進行修改

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  3)A查看user表數據,數據未發生改變

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  4)B提交事務

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  5)A再進行一次查詢,結果還是沒有變化

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  6)A提交事務后,再查看結果,結果已經更新

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  7)A重新開始事務,并對user表進行修改

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

   

  8)B表重新開始事務,并對user表進行修改,修改被掛起,直到超時,對另一條記錄修改卻成功,說明A對表進行修改時加了行共享鎖(可以select)

   

   

  REPEATABLE-READ事務隔離級別,當兩個事務同時進行時,其中一個事務修改數據對另一個事務不會造成影響,即使修改的事務已經提交也不會對另一個事務造成影響。

  在事務中對某條記錄修改,會對記錄加上行共享鎖,直到事務結束才會釋放。

4.SERIERLIZED(可串行化)

  1)修改A的事務隔離級別,并作一次查詢

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  2)B對表進行查詢,正常得出結果,可知對user表的查詢是可以進行的

   

MySQL數據庫事務隔離級別介紹(Transaction Isolation Level)

  3)B開始事務,并對記錄做修改,因為A事務未提交,所以B的修改處于等待狀態,等待A事務結束,最后超時,說明A在對user表做查詢操作后,對表加上了共享鎖

   

  SERIALIZABLE事務隔離級別最嚴厲,在進行查詢時就會對表或行加上共享鎖,其他事務對該表將只能進行讀操作,而不能進行寫操作。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品日韩在线一区| 亚洲综合视频1区| 国产色婷婷国产综合在线理论片a| 久久电影一区二区| 精品国产一区二区三区久久| 欧美激情乱人伦一区| 欧美国产视频日韩| 91国内揄拍国内精品对白| 97视频在线观看网址| 国产在线视频一区| 久久精品国产96久久久香蕉| 亚洲天堂久久av| 欧美有码在线观看视频| 日本欧美爱爱爱| 久久精品国产v日韩v亚洲| 97久久久免费福利网址| 国产+成+人+亚洲欧洲| 欧美性极品xxxx做受| 尤物九九久久国产精品的分类| 欧美日韩人人澡狠狠躁视频| 日韩中文字幕网站| 国产丝袜一区视频在线观看| 成人av资源在线播放| 久久伊人免费视频| 久久99久久99精品免观看粉嫩| 97福利一区二区| 精品日本美女福利在线观看| 国产精品久久久久77777| 久久艹在线视频| 国产一区二区三区视频在线观看| 日韩中文有码在线视频| 精品国产91久久久久久老师| 精品爽片免费看久久| 国产免费观看久久黄| 亚洲精品日韩久久久| 久久视频这里只有精品| 亚洲精品按摩视频| 韩国精品久久久999| 北条麻妃在线一区二区| 91精品久久久久久久久久| 欧美成人全部免费| 日韩中文av在线| 亚洲成在人线av| 成人欧美一区二区三区黑人孕妇| 国产成人精品在线播放| 91在线色戒在线| 在线看片第一页欧美| 狠狠躁夜夜躁人人爽超碰91| 亚洲欧洲日产国产网站| 国产精品福利无圣光在线一区| 精品亚洲男同gayvideo网站| 亚洲欧洲第一视频| 亚洲成人动漫在线播放| 97精品视频在线观看| 乱亲女秽乱长久久久| 亚洲国产婷婷香蕉久久久久久| 欧美成人免费全部| 国产精品91久久久久久| 精品国产福利在线| 91精品久久久久久久久中文字幕| 91视频8mav| 欧美性开放视频| 精品久久久久久久久久久久久久| 国产丝袜精品第一页| 91影院在线免费观看视频| 伊是香蕉大人久久| 久久久国产精品视频| 国产精品直播网红| 欧美精品日韩www.p站| 日韩成人在线电影网| 免费97视频在线精品国自产拍| 精品伊人久久97| 国产伦精品一区二区三区精品视频| 国产亚洲一区精品| 亚洲成**性毛茸茸| 精品久久久久久国产| 亚洲国产小视频| 亚洲福利视频网站| 中文字幕在线看视频国产欧美在线看完整| 国产精品入口福利| 成人激情视频在线| 日韩激情av在线免费观看| 亚洲黄色片网站| 亚洲第一男人av| 日韩欧美一区二区三区| 91精品综合视频| 国产精品嫩草视频| 亚洲天堂久久av| 日韩二区三区在线| 91精品国产高清久久久久久久久| 成人激情视频免费在线| 国产精品ⅴa在线观看h| 亚洲国产成人精品电影| 川上优av一区二区线观看| 欧美国产亚洲精品久久久8v| 国产精品大陆在线观看| 91黑丝在线观看| 97在线视频精品| 精品偷拍各种wc美女嘘嘘| 精品亚洲精品福利线在观看| 欧美精品在线免费播放| 欧美在线视频观看免费网站| 欧美成在线视频| 国产精品女人久久久久久| 精品日韩视频在线观看| 国产成人一区二区三区小说| 欧美成年人视频网站欧美| 4388成人网| 国产在线日韩在线| 69久久夜色精品国产69乱青草| 青草成人免费视频| 亚洲国产精品成人av| 日韩视频在线一区| 亚洲午夜国产成人av电影男同| 久久久久一本一区二区青青蜜月| www.亚洲一二| 国产a∨精品一区二区三区不卡| 在线播放精品一区二区三区| 91国偷自产一区二区三区的观看方式| 午夜免费日韩视频| 中文字幕亚洲激情| 91av国产在线| 日韩国产精品视频| 这里只有精品视频在线| 国内精品久久久久久久久| 亚洲精品videossex少妇| 91色琪琪电影亚洲精品久久| 亚洲人成电影网站色xx| 久久精品亚洲国产| 久久99热精品| 国产成人亚洲综合91精品| 亚洲福利在线看| 欧美激情一级二级| 久久99国产精品久久久久久久久| 国内伊人久久久久久网站视频| 日本一区二三区好的精华液| 国产在线日韩在线| 欧美成人精品h版在线观看| 国内精品美女av在线播放| 中文字幕精品国产| 欧美日韩国产成人高清视频| 久久久在线视频| 国产视频一区在线| 欧美国产亚洲精品久久久8v| 国产成人涩涩涩视频在线观看| 欧美国产高跟鞋裸体秀xxxhd| 高清视频欧美一级| 97**国产露脸精品国产| 国产日韩精品综合网站| 亚洲精品国偷自产在线99热| 久久久免费精品视频| 国产精品v片在线观看不卡| 欧美性猛交xxxx免费看漫画| 亚洲va久久久噜噜噜| 日韩亚洲综合在线| 国产精品第10页| 欧美日韩国产页| 国产精品视频白浆免费视频| 日韩欧美在线播放| 国产精品都在这里| 精品国产一区二区三区久久久狼| 国产精品国语对白| 中文字幕不卡av| 日本精品久久久久影院|