天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

數(shù)據(jù)并發(fā)與事務(wù)隔離

  一、數(shù)據(jù)并發(fā)帶來的各種情況 

  ①臟讀:事務(wù)A讀到事務(wù)B尚未提交的數(shù)據(jù),并基于這個數(shù)據(jù)進(jìn)行后續(xù)操作

  ②不可重復(fù)讀:事務(wù)A讀取數(shù)據(jù)后,被事務(wù)B修改或刪除,事務(wù)A再次讀取時前后兩次讀取的數(shù)據(jù)不一致

  ③幻像讀:事務(wù)A讀取數(shù)據(jù)后,事務(wù)B新增了數(shù)據(jù),事務(wù)A再次讀取是前后兩次讀取的數(shù)據(jù)不一致

  不可重復(fù)讀和幻想讀的區(qū)別:

  幻象讀和不可重復(fù)讀是兩個容易混淆的概念,前者是指讀到了其它已經(jīng)提交事務(wù)的新增數(shù)據(jù),而后者是指讀到了已經(jīng)提交事務(wù)的更改數(shù)據(jù)(更改或刪除),為了避免這兩種情況,采取的對策是不同的,防止讀取到更改數(shù)據(jù),只需要對操作的數(shù)據(jù)添加行級鎖,阻止操作中的數(shù)據(jù)發(fā)生變化,而防止讀取到新增數(shù)據(jù),則往往需要添加表級鎖——將整個表鎖定,防止新增數(shù)據(jù)(Oracle使用多版本數(shù)據(jù)的方式實(shí)現(xiàn))。

  ④第一類更新丟失:事務(wù)A和事務(wù)B同時訪問同一個數(shù)據(jù),事務(wù)B先提交修改,事務(wù)A回滾操作。導(dǎo)致事務(wù)B的修改丟失

  ⑤第二類更新丟失:事務(wù)A和事務(wù)B同時訪問同一個數(shù)據(jù),事務(wù)B先提交修改,事務(wù)A再提交。導(dǎo)致事務(wù)B的修改被覆蓋

  第一類更新丟失是很嚴(yán)重的操作,如果控制不當(dāng),可能導(dǎo)致在一個長時間的大型事務(wù)中,所有的操作都被回滾。所以所有的數(shù)據(jù)庫都不支持這種并發(fā)情況。
  二、數(shù)據(jù)庫的鎖機(jī)制
  從鎖的作用范圍來分,可以分為:行級鎖和表級鎖
  從鎖的排他性來分,可以分為:共享鎖和獨(dú)占鎖(排他鎖),其中共享鎖允許共享,但阻止獨(dú)占鎖。獨(dú)占鎖不但不允許共享鎖,且不允許其它獨(dú)占鎖

  于是組合起來就有:
  ①行共享鎖:允許多個會話共享鎖定的行數(shù)據(jù),但不允許對這些行的獨(dú)占鎖。例如select ...for update

  ②行獨(dú)占鎖:對行進(jìn)行獨(dú)占,不允許其它的共享鎖(表,行)、獨(dú)占鎖(表,行)和表共享行獨(dú)占鎖。例如insert,update

  ③表共享鎖:允許多個會話共享表數(shù)據(jù),但不允許其它的獨(dú)占鎖(表,行)、表共享行獨(dú)占鎖。可以實(shí)現(xiàn)表級事務(wù)一致性

  ④表獨(dú)占鎖:對表進(jìn)行獨(dú)占,不允許其它的共享鎖(表,行)、讀占鎖(表,行)和表共享行獨(dú)占鎖。達(dá)到序列化操作級別

  ⑤表共享行獨(dú)占鎖:允許多個會話共享表數(shù)據(jù),但同一時刻只能有一個行獨(dú)占鎖。可以達(dá)到數(shù)據(jù)共享同時防止臟讀、不可重復(fù)讀、幻像讀
  表共享鎖定可以讓會話具有對表事務(wù)級一致性訪問,因?yàn)槠渌鼤捲谀闾峤换蛘呋厮菰撌聞?wù)并釋放對該表的鎖定之前不能更改這個被鎖定的表(因?yàn)橐薷谋淼挠涗洠捅仨毇@得行獨(dú)占鎖,但是共享鎖會阻止獨(dú)占鎖的獲取,這樣原來其它正在讀取表記錄的事務(wù)就不會出現(xiàn)臟讀、不可重復(fù)讀、幻像讀的情況了);
  表共享行獨(dú)占鎖與其不同則是多了一個行獨(dú)占,這樣效率更高。

  三、事務(wù)隔離級別

  盡管數(shù)據(jù)庫為用戶提供了鎖的DML操作方式,但直接使用鎖管理是非常麻煩的,因此數(shù)據(jù)庫為用戶提供了自動鎖機(jī)制。只要用戶指定會話的事務(wù)隔離級別,數(shù)據(jù)庫就會分析事務(wù)中的SQL語句,然后自動為事務(wù)操作的數(shù)據(jù)資源添加上適合的鎖。此外數(shù)據(jù)庫還會維護(hù)這些鎖,當(dāng)一個資源上的鎖數(shù)目太多時,自動進(jìn)行鎖升級以提高系統(tǒng)的運(yùn)行性能,而這一過程對用戶來說完全是透明的
  下面是ANSI ISO92定義的4個事務(wù)隔離級別以及對應(yīng)的對數(shù)據(jù)并發(fā)的處理

  READ COMMITITED:不允許讀取未提交的數(shù)據(jù),但可以讀取已提交的數(shù)據(jù)。所以可能出現(xiàn)不可重復(fù)讀、和幻像讀(讀的過程依然可以被修改、增加、刪除)

  REPEATABLE READ:通過行鎖定,在讀的數(shù)據(jù)不允許其它進(jìn)程修改。確保已讀取的數(shù)據(jù)不被修改、刪除(不可重復(fù)讀)但無法阻止其它進(jìn)程寫入新數(shù)據(jù),所以不能確保讀取到新的數(shù)據(jù)(幻像讀)

it知識庫數(shù)據(jù)并發(fā)與事務(wù)隔離,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产99青草全福视在线 | 久草大 | 日日噜噜夜夜爽爽 | 秘密教学26我们在做一次吧免费 | 色拍拍噜噜噜啦啦新网站 | 丰满少妇67194视频 | 欧美精品v欧洲高清 | 亚洲人成在线播放网站岛国 | 色欲AV色欲AV久久麻豆 | 日韩视频中文字幕精品偷拍 | 甜性涩爱dvd | 最新无码专区在线视频 | 漂亮的保姆3中文版完整版 漂亮的保姆3集电影免费观看中文 | 九九在线免费视频 | 中国农村真实bbwbbwbbw | 99香蕉精品视频在线观看 | 99视频国产在线 | 人妻天天爽夜夜爽三区麻豆A片 | 花蝴蝶免费版高清版 | 国产成人a一在线观看 | 动漫美女被爆挤奶歪歪漫画 | 成人精品视频99在线观看免费 | 小黄文污到你湿 | 97 sese| 考试考90就可以晚上和老师C | 国内精品久久久久影院网站 | 一个人看的www视频动漫版 | 亚洲色综合中文字幕在线 | 国产精品大全国产精品 | 久久欧洲AV无码精品色午夜麻豆 | 欧美AAAA片免费播放观看 | 亚洲伊人精品综合在合线 | 午夜视频在线网站 | 99视频精品全部免费免费观 | 国产精品久久久精品a级小说 | 国产精品单位女同事在线 | 全部老头和老太XXXXX | 成人五级毛片免费播放 | 色婷婷我要去我去也 | 中文字幕亚洲无限码 | 深夜释放自己污在线看 |