qileilove

          blog已經(jīng)轉移至github,大家請訪問 http://qaseven.github.io/

          數(shù)據(jù)庫事務的隔離級別

           隔離級別都與問題相對應,數(shù)據(jù)庫操作常見的問題:
            1 臟讀:   一個事務可以讀取另一個事務未提交的數(shù)據(jù)
            2 不可重復讀: 一個事務連續(xù)兩次執(zhí)行某個讀操作,返回的結果不一致,被修改了
            3 虛讀 :一個事務連續(xù)兩次執(zhí)行某個讀操作,返回的結果不一致,返回的紀錄數(shù)目有改變
            不可重復讀 與 虛讀 的區(qū)別:
            不可重復讀,強調的是,第二次返回的結果中,某個條目被修改過,比如某些字段被修改
            虛讀,強調的是,第二次返回結果中,屬于第一次返回結果的條目沒有任何變化,但是返回條目的數(shù)目會變化
            數(shù)據(jù)庫事務隔離級別
            1 read uncommitted  臟讀的那個級別
            2 read committed  解決臟讀問題,提交了才能被其它事務讀到  (大多數(shù)數(shù)據(jù)庫的默認事務等級)
            3 repeatable read 可重復讀,如何實現(xiàn):規(guī)定一個事務不能修改被其它事務讀但是未提交的事務
            4 serializable 最高的事務隔離級別  如何實現(xiàn):所有的事務都串行執(zhí)行
            repeatable read是如何實現(xiàn)?
            規(guī)定一個事務不能修改其它事務讀但是未提交的事務
            這樣就保證了一個事務中第二次讀到的數(shù)據(jù)都是沒有被修改過得
            為什么repeatable read隔離級別,虛讀問題沒有被解決掉?
            只對修改作了限制,如果兩次讀之間進行了插入或者刪除操作,滿足沒有修改其它事務讀但未提交的事務,結果,兩次讀的結果還是會不一致,所以虛讀問題沒有被解決
            虛讀問題解決,serializable隔離級別?
            串行化執(zhí)行,很容易理解,我在一個事務中,執(zhí)行兩次讀操作,在此期間,沒有其它事務在執(zhí)行,必須等我執(zhí)行完以后才會被執(zhí)行,因為是串行,大家排隊,所以結果不可能不一致。

          posted on 2014-08-06 10:32 順其自然EVO 閱讀(221) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          <2014年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 三原县| 同德县| 方山县| 酒泉市| 临西县| 青河县| 冷水江市| 九台市| 安塞县| 泽州县| 顺平县| 保康县| 潜江市| 枞阳县| 神木县| 大渡口区| 兰坪| 西和县| 毕节市| 仙桃市| 文成县| 鄂托克旗| 长治市| 房产| 万州区| 兴城市| 香港 | 靖安县| 奈曼旗| 马鞍山市| 临洮县| 新巴尔虎右旗| 北辰区| 永昌县| 任丘市| 淄博市| 陵水| 肇州县| 沅陵县| 南丹县| 合水县|