国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL事務(wù)的基礎(chǔ)學(xué)習(xí)以及心得分享

2024-07-24 13:15:09
字體:
供稿:網(wǎng)友

事務(wù)是邏輯上的一組操作,組成這組操作的各個(gè)單元,要不全都成功要不全都失敗,這個(gè)特性就是事務(wù),下面就是關(guān)于MySQL事務(wù)學(xué)習(xí)中的心得分享:

事務(wù)的特性

1.原子性(Atomicity):原子性是指事務(wù)是一個(gè)不可分割的工作單位,事務(wù)中的操作要么都發(fā)生,要么都不發(fā)生。 

2.一致性(Consistency):在一個(gè)事務(wù)中,事務(wù)前后數(shù)據(jù)的完整性必須保持一致,可以想象銀行轉(zhuǎn)賬、火車購票。

3.隔離性(Isolation):多個(gè)事務(wù),事務(wù)的隔離性是指多個(gè)用戶并發(fā)訪問數(shù)據(jù)庫時(shí), 一個(gè)用戶的事務(wù)不能被其它用戶的事務(wù)所干擾,多個(gè)并發(fā)事務(wù)之間數(shù)據(jù)要相互隔離。

4.持久性(Durability):持久性是指一個(gè)事務(wù)一旦被提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就是永久性的,接下來即使數(shù)據(jù)庫發(fā)生故障也不應(yīng)該對其有任何影響。

寫這些概念呢,是有點(diǎn)繞!繞就繞吧!反正也不是我規(guī)定的,這是官方的,解釋是我編的!!!

事務(wù)的并發(fā)訪問問題

如果我們在不考慮隔離性問題時(shí),事務(wù)是存在三種并發(fā)訪問問題的。

1.臟讀:在一個(gè)事務(wù)中,當(dāng)讀取數(shù)據(jù)時(shí),讀到了另一個(gè)事務(wù)未提交的數(shù)據(jù)。  

比如A賬戶給B賬戶轉(zhuǎn)了1塊錢,但是A沒有提交事務(wù),被B賬戶通過臟讀看到了,這時(shí),B就會(huì)以為A已經(jīng)把錢轉(zhuǎn)過來了,但是這時(shí),A賬戶回滾事務(wù)。其實(shí)錢就沒給B轉(zhuǎn)過去,但是B自己本身以為A已經(jīng)轉(zhuǎn)過去了,,,有點(diǎn)繞,估計(jì)是我描述到繞!

看代碼:

update account set money=money+1 where name='B';  --此時(shí)A去通知Bupdate account set money=money -1 where name='A';

 

2.不可重復(fù)讀:在一個(gè)事務(wù)中,兩次讀取的數(shù)據(jù)內(nèi)容不一致,這是因?yàn)樵诓樵儠r(shí),有時(shí)間間隔,數(shù)據(jù)被另一個(gè)事務(wù)已經(jīng)修改提交了,那就會(huì)出現(xiàn)問題。

3.幻讀/虛讀:在一個(gè)事務(wù)中,兩次讀取的數(shù)據(jù)量不一致。

事務(wù)的隔離級(jí)別

上面介紹了3種事務(wù)并發(fā)問題!現(xiàn)在介紹一下數(shù)據(jù)庫提供的解決方案!

1.read uncommitted : 讀取尚未提交的數(shù)據(jù) :這個(gè)最低級(jí),但是效率肯定最高,但是哪一個(gè)問題都不能解決。

2.read committed:讀取已經(jīng)提交的數(shù)據(jù) :可以解決臟讀  。

3.repeatable read:重讀讀取:可以解決臟讀 和 不可重復(fù)讀 。

4.serializable:串行化:可以解決臟讀不可重復(fù)讀和虛讀,效率最差,相當(dāng)于鎖表,開發(fā)中一般不用。 

上面的“2”是oracle數(shù)據(jù)庫默認(rèn)設(shè)置,“3”是mysql數(shù)據(jù)庫默認(rèn)的設(shè)置。

下面呢我就重點(diǎn)解釋一下mysql數(shù)據(jù)庫在上面各種事務(wù)隔離級(jí)別上的演示:

首先介紹兩個(gè)語法:

1.查看mysql數(shù)據(jù)庫默認(rèn)的隔離級(jí)別:select @@tx_isolation

如圖:

MySQL,事務(wù)

2.設(shè)置mysql的隔離級(jí)別:set session transaction isolation level 事務(wù)的隔離級(jí)別

如圖:

MySQL,事務(wù)

事務(wù)的隔離級(jí)別演示

注意:如果要自己模擬要開啟兩個(gè)mysql客戶端,也就是模擬兩個(gè)用戶!

1.read uncommitted

如圖:

MySQL,事務(wù)

我通過語法將數(shù)據(jù)庫的事務(wù)隔離級(jí)別改為了read uncommitted。

首先我有一張account表。 

如圖:窗口一

MySQL,事務(wù)

 窗口二

MySQL,事務(wù)

數(shù)據(jù)庫表原始數(shù)據(jù)money都是5000,當(dāng)我啟動(dòng)事務(wù)后,在zhangsan賬戶增加了1000和在李四賬戶減去了1000,但是我的事務(wù)還未提交,但是我再次查詢數(shù)據(jù)庫表時(shí),數(shù)據(jù)已經(jīng)發(fā)生變化,這就是臟讀和不可重復(fù)讀!

幻讀/虛讀我就不掩飾了,同樣存在!

2.read committed

 如圖:

MySQL,事務(wù)

我將數(shù)據(jù)庫事務(wù)隔離性改為了read committted。

還是上面那張表:

如圖:窗口一

MySQL,事務(wù)

 窗口二

 MySQL,事務(wù)

 

數(shù)據(jù)庫表zhangsan賬戶的money和lisi賬戶的money都發(fā)生了變化,我未提交事務(wù),在另一個(gè)窗口事務(wù)開啟下查詢時(shí),沒有出現(xiàn)臟讀,但是當(dāng)我提交事務(wù)時(shí),在另一個(gè)窗口的事務(wù)下再次查詢,出現(xiàn)了不可重復(fù)讀的情況,這樣可以避免臟讀,但是查詢時(shí)已經(jīng)出現(xiàn)不可重復(fù)讀和幻讀/虛讀!

3.repeatable read

如圖:

MySQL,事務(wù)

我將數(shù)據(jù)庫事務(wù)隔離性改為了read committted。

還是上面那張表:

如圖:窗口一

MySQL,事務(wù)

 窗口二

MySQL,事務(wù)

我在兩個(gè)窗口都開啟了事務(wù),當(dāng)窗口一進(jìn)行數(shù)據(jù)操作后,并進(jìn)行事務(wù)提交,在窗口二的事務(wù)開啟情況下,我去查詢,沒有查詢到剛才窗口一的數(shù)據(jù)操作記錄,這樣就避免了臟讀和不可重復(fù)讀。

 有人說也避免了虛讀/幻讀,其實(shí)沒有。

 看圖:

MySQL,事務(wù)

我在操作lisi賬戶時(shí),數(shù)據(jù)只是發(fā)生修改的變化,但是當(dāng)我修改wangwu這個(gè)賬戶時(shí),再去查詢出現(xiàn)了wangwu,賬戶的數(shù)據(jù),但是其實(shí)在我未操作前,wangwu賬戶的數(shù)據(jù)是查詢不出的。這就是幻讀/虛讀!

如果不理解幻讀/虛讀這塊,可以查一下InnoDB。

4.serializable

我就不演示了,開發(fā)不建議用,效率又慢,但是所有的問題都能避免!!

總結(jié)一下 

事務(wù)隔離級(jí)別的性能:

read uncommitted>read committed>repeatable read>serialazable

事務(wù)隔離級(jí)別的安全性:

read uncommitted<read committed<repeatable read<serialazable

mysql 事務(wù)控制:

開啟事務(wù):start transaction;

提交:commit;

回滾:rollback;


注:相關(guān)教程知識(shí)閱讀請移步到MYSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产成a人亚洲精v品| 超碰免费在线播放| 国产特级淫片免费看| 国产在线小视频| 四虎成人免费观看在线网址| 伊人网在线免费观看| 日本在线观看| 六月天色婷婷| 天天操夜夜摸| √天堂资源中文www| 影音先锋中文字幕在线| 国产wwww| 久久久久久久久免费视频| 最近中文字幕mv2018在线高清| 国产一级二级在线| 国产高清大尺度一区二区不卡| 在线免费国产视频| 国产在线看片| 亚洲а∨精品天堂在线| 好看的中文字幕在线播放| 国产二区视频| 四虎影院成人| 精品日韩av| 国产午夜电影| 国产高清av| 亚洲精品久久久成人| 美女网站在线观看| 国产一级影片| 久久香蕉av| 狂野欧美性猛交xxxx乱大交| 精品无人乱码| 国产高潮av| 国产专区在线播放| a视频在线观看免费| 99久久国产视频| 国产极品一区二区三区| 国产在线视精品麻豆| www.狠狠| 丝袜理论片在线观看| 国产日本视频| 国产蜜臀av在线播放| 啪啪免费视频一区| 精品剧情v国产在线观看| 国产精品美女一区二区三区四区| 国产麻豆精品高清在线播放| 日本黄在线观看| 欧美性猛交p30| www.色五月| 麻豆网站在线| 国产免费av网站| 最近中文av字幕在线中文| 免费观看v片在线观看| 男人操女人免费网站| 国产主播福利在线| 中文字幕在线免费观看| 国产天堂av| 在线观看电影av| 影音先锋日韩| 国产精品自拍亚洲| 精品国产一区二区三区四区阿崩| 99久久国产视频| 久草一本av| 国产成+人+亚洲+欧美+综合| 一区二区免费播放| 国产中文伊人| 国产日韩欧美精品一区二区三区| 国产福利视频在线| a视频在线观看免费| 久久一本精品| 国产黄a三级三级三级av在线看 | 亚洲天堂电影在线观看| 青青草免费在线观看| 福利视频网址导航| 国产精品视频一区二区免费不卡| 精品国产一区二区三区四区阿崩| av资源网站在线观看| 国产一级免费看| jlzzjlzz欧美| 69堂视频在线观看国产| 青青草视频在线免费观看| 国产精品臀控福利在线观看| 国产黄色免费| 国产在线高清| 一本大道五月香蕉| 在线91av| wwwww亚洲| 精品极品三级久久久久| 国产中文伊人| 亚洲字幕成人中文在线观看| 国产精品自拍亚洲| 欧美精品另类| 在线a人片免费观看视频| 久久精品亚洲7777影院| 中文天堂av| 国产黄色网页| 国产精品9区| 国产区av在线| 国产亚洲精品自在线观看| 懂色av中文在线| www.香蕉视频在线观看| 国产福利热线视频| 国产国产人免费人成免费视频| 激情综合网五月激情| 四虎一区二区三区| 欧美日韩在线资源| 人成在线免费视频| 免费看黄视频网站| 丁香六月婷婷| 中文字幕在线观看av| 国产午夜精品久久久久免费视| 中文字幕国产在线| 国产女主播在线| 在线视频婷婷| 亚洲成a人v欧美综合天堂麻豆| 2019年中文字幕| 亚洲天堂久久久| 亚洲色婷婷综合开心网| 日本电影全部在线观看网站视频 | 在线看黄色av| 久热中文字幕在线观看| 黄色网址在线免费播放| 国产理论电影在线| 国产成人亚洲欧美电影| 伊人网在线免费观看| 日本一二三区视频免费高清| 不卡av免费观看| 尤物网在线观看| 国产福利片在线| 天堂中文在线观看| 好男人免费精品视频| 国产精品人人爱一区二区白浆| √天堂资源中文www| 久久香蕉av| 亚洲欧美日韩综合精品网| 久久五月精品中文字幕| 国产黄视频在线观看| 欧美a免费在线| 国产福利免费在线观看| 久热免费在线视频| 2019中文字幕在线电影免费| 久热中文字幕精品视频在线| 国产精品久久久高清免费| 日韩国产成人| 国产精品理人伦一区二区三区 | 欧美性猛交xxxx免费看久久| 国产麻豆一级片| 精品国语对白精品自拍视| 天堂中文资源在线| 一本大道久久精品| 国产黄色在线看| 国产另类图片| 在线成人综合色一区| 开心丁香婷婷深爱五月| 亚洲男人的天堂成人| 国产污视频在线| 国产在线高潮| 久草在线视频网| 四虎中文字幕| 在线成人综合色一区| 97国产在线| 在线视频三区| 在线中文字幕视频观看| 精品视频vs精品视频| 精品一区二区三区在线观看l| 国产精品冒白浆免费视频| 国产精品视频福利一区二区 | 天堂资源最新版在线视频观看免费网| 一区二区精品区| 在线观看免费黄色| 亚洲欧美日韩综合精品网| 亚洲大香人伊一本线| 日本高清中文字幕二区在线| 伊人222成人综合网| 992tv在线观看在线播放| 国产精品视频二区三区| 91这里只有精品| 在线观看国产视频| 青青草中文字幕| 黄色片视频在线观看| 免费特级黄毛片| 国产一区久久精品| 最新国产在线精品91尤物| 国产二区三区在线| 午夜在线网站| 成视频年人免费看黄网站| 国产免费福利| 在线一区二区三区精品| 在线视频福利| а√资源新版在线天堂| 在线天堂av| 老师我好爽再深一点的视频| 国产天堂在线观看| 91欧洲在线视精品在亚洲| 亚洲成人福利| 麻豆精品传媒视频观看| 国产三级在线观看| av人人综合网| 国产人成在线观看| 久久精品最新免费国产成人| 国产精品久久精品牛牛影视|