<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    neverend的日志

    不記錄,終將被遺忘。 一萬年太久,只爭(zhēng)朝夕。 他們用數(shù)字構(gòu)建了整個(gè)世界。

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      62 Posts :: 1 Stories :: 17 Comments :: 0 Trackbacks

    數(shù)據(jù)庫中的事務(wù)是可以并發(fā)執(zhí)行的,由此帶來四種并發(fā)問題:

    一、丟失更新 update lost

    1.回滾丟失 事務(wù)A修改X, 事務(wù)B修改X, 事務(wù)B回滾,事務(wù)A提交。結(jié)果:事務(wù)A的修改丟失了

    2.覆蓋丟失 并發(fā)的事務(wù)A和A'執(zhí)行同樣的任務(wù), A讀取X, B讀取X, A將X+1寫回,A'將X+1寫回。結(jié)果:X應(yīng)為X+2,實(shí)際卻為X+1

    二、臟讀取 dirty read

    事務(wù)A修改數(shù)據(jù)X(此時(shí)A沒有commit),事務(wù)B讀取X,事務(wù)A回滾。 結(jié)果 : 事務(wù)B讀取的X不準(zhǔn)確

    三、不可重復(fù)讀 Non-Repeatable Read

    事務(wù)A讀取數(shù)據(jù)X ,事務(wù)B修改數(shù)據(jù)X ,然后事務(wù)A再讀該數(shù)據(jù),結(jié)果:事務(wù)A兩次讀取的數(shù)據(jù)不一致。

    四、幻想讀 Phantom Read 讀取的數(shù)據(jù)集未改變,但是條件數(shù)據(jù)集改變,造成事務(wù)A兩次讀取的數(shù)據(jù)不一致。

    解決方案:

    Sql標(biāo)準(zhǔn)隔離級(jí)別

    Dirty Read

    NonRepeatable Read

    Phantom Read

    Read uncommitted

    Possible

    Possible

    Possible

    Read committed

    Not possible

    Possible

    Possible

    Repeatable read

    Not possible

    Not possible

    Possible

    Serializable

    Not possible

    Not possible

    Not possible

    Serializable 全序列化 提供嚴(yán)格的事務(wù)隔離。它要求事務(wù)序列化執(zhí)行,事務(wù)只能一個(gè)接著一個(gè)地執(zhí)行,但不能并發(fā)執(zhí)行。如果僅僅通過“行級(jí)鎖”是無法實(shí)現(xiàn)事務(wù)序列化的,必須通過其他機(jī)制保證新插入的數(shù)據(jù)不會(huì)被剛執(zhí)行查詢操作的事務(wù)訪問到。

        Repeatable Read 可重復(fù)讀取 禁止不可重復(fù)讀取和臟讀取,但是有時(shí)可能出現(xiàn)幻影數(shù)據(jù)。這可以通過“共享讀鎖”和“排他寫鎖”實(shí)現(xiàn)。讀取數(shù)據(jù)的事務(wù)將會(huì)禁止寫事務(wù)(但允許讀事務(wù)),寫事務(wù)則禁止任何其他事務(wù)。

        Read Committed 授權(quán)讀取 允許不可重復(fù)讀取,但不允許臟讀取。這可以通過“瞬間共享讀鎖”和“排他寫鎖”實(shí)現(xiàn)。讀取數(shù)據(jù)的事務(wù)允許其他事務(wù)繼續(xù)訪問該行數(shù)據(jù),但是未提交的寫事務(wù)將會(huì)禁止其他事務(wù)訪問該行。

        Read Uncommitted 未授權(quán)讀取 允許臟讀取,但不允許更新丟失。如果一個(gè)事務(wù)已經(jīng)開始寫數(shù)據(jù),則另外一個(gè)數(shù)據(jù)則不允許同時(shí)進(jìn)行寫操作,但允許其他事務(wù)讀此行數(shù)據(jù)。該隔離級(jí)別可以通過“排他寫鎖”實(shí)現(xiàn)。

    隔離級(jí)別的實(shí)現(xiàn)原理:

    ………………

    其他相關(guān)知識(shí)

    事務(wù)定義:是指作為單個(gè)邏輯工作單元執(zhí)行的一系列操作。要么全部執(zhí)行,要么全部不執(zhí)行。

    事務(wù)四種屬性: ACID 原子性、一致性、隔離性和持久性

    A : 要么全都執(zhí)行,要么全都不執(zhí)行

    C: 所有的數(shù)據(jù)都保持一致狀態(tài) 賬戶A轉(zhuǎn)出100$給賬戶B , 保證賬戶A -100$,賬戶B +100$

    I: 由并發(fā)事務(wù)所作的修改必須與任何其它并發(fā)事務(wù)所作的修改隔離。數(shù)據(jù)查看可串行。

    D:事務(wù)完成之后,它對(duì)于系統(tǒng)的影響是永久性的。該修改即使出現(xiàn)致命的系統(tǒng)故障也將一直保持。

    參考資料:

    http://blog.csdn.net/yongyuana01/archive/2009/02/25/3936482.aspx

    http://epub.itpub.net/3/4.htm

    http://baike.baidu.com/view/1298364.html?fromTaglist

    閱讀全文
    類別:技術(shù)天地 查看評(píng)論
    posted on 2010-09-29 10:55 neverend 閱讀(225) 評(píng)論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 今天免费中文字幕视频| 亚洲av中文无码字幕色不卡| h片在线观看免费| 亚洲AV无码不卡在线观看下载| 亚洲成AV人影片在线观看| 妞干网免费视频观看| 亚洲精品永久在线观看| 日韩免费无砖专区2020狼| 亚洲色偷偷色噜噜狠狠99| 国产真实伦在线视频免费观看| 亚洲日韩精品A∨片无码加勒比| 黄网址在线永久免费观看 | 亚洲免费闲人蜜桃| 亚洲最大的视频网站| 免费观看成人毛片a片2008| 一区二区亚洲精品精华液| 国产精品成人四虎免费视频| 国产成人精品亚洲一区| 亚洲色婷婷六月亚洲婷婷6月| 国产免费爽爽视频在线观看| 亚洲成人黄色网址| 女人18毛片水最多免费观看| 无码一区二区三区亚洲人妻| 国产黄色一级毛片亚洲黄片大全 | 免费国产黄网站在线观看视频| 亚洲资源在线视频| 免费看无码自慰一区二区| 免费大片av手机看片高清| 亚洲一区AV无码少妇电影☆| 中文字幕在线视频免费观看| 亚洲一区二区成人| 国产一区二区三区在线免费| 伊人免费在线观看| 亚洲精品伊人久久久久| 亚洲免费日韩无码系列| 99视频精品全部免费观看| 亚洲 欧洲 日韩 综合在线| 国产L精品国产亚洲区久久 | 免费在线观看日韩| 99久在线国内在线播放免费观看| 亚洲AV无码专区亚洲AV桃|