溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)庫并發(fā)操作會(huì)帶來什么問題

發(fā)布時(shí)間:2020-06-22 17:30:53 來源:億速云 閱讀:735 作者:Leah 欄目:MySQL數(shù)據(jù)庫

數(shù)據(jù)庫并發(fā)操作會(huì)帶來什么問題?針對(duì)這個(gè)問題,這篇文章給出了相對(duì)應(yīng)的分析和解答,希望能幫助更多想解決這個(gè)問題的朋友找到更加簡(jiǎn)單易行的辦法。

數(shù)據(jù)庫的并發(fā)操作通常會(huì)帶來丟失更新問題,不一致分析問題和“臟數(shù)據(jù)”的讀出問題。

并發(fā)操作帶來的數(shù)據(jù)不一致性

1、丟失修改(Lost Update)

2、不可重復(fù)讀(Non-repeatable Read)

3、幻讀(Phantom Read)

4、讀“臟”數(shù)據(jù)(Dirty Read)

下面我們來分別看一下:

丟失修改:兩個(gè)事務(wù)T-1和T-2讀入同一數(shù)據(jù)并修改,T-2的提交結(jié)果破壞了T-1提交 的結(jié)果,導(dǎo)致T-1的修改被丟失。(修改-修改沖突)

不可重復(fù)讀:事務(wù)1讀取某一數(shù)據(jù),事務(wù)2對(duì)其做了修改;當(dāng)事務(wù)1再次讀該數(shù)據(jù) 時(shí),得到與前一次不同的值(讀-更新沖突)

幻讀:事務(wù)T-1按一定條件從數(shù)據(jù)庫中讀取了某些數(shù)據(jù)記錄,事務(wù)T-2刪除(插入) 了其中部分記錄 ,當(dāng)T-1再次按相同條件讀取數(shù)據(jù)時(shí),發(fā)現(xiàn)某些記錄神秘地 消失(出現(xiàn))了。(讀-插入/刪除沖突)

臟數(shù)據(jù): 事務(wù)T-1修改某一數(shù)據(jù),并將其寫回磁盤;事務(wù)T-2讀取同一數(shù)據(jù)后,T-1由 于某種原因被撤銷這時(shí)T-1,已修改過的數(shù)據(jù)恢復(fù)原值,T-2讀到的數(shù)據(jù)就 與數(shù)據(jù)庫中的數(shù)據(jù)不一致T-2讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù)(修 改-讀沖突)

數(shù)據(jù)不一致性:由于并發(fā)操作破壞了事務(wù)的隔離性

并發(fā)控制的目的

要用正確的方式調(diào)度并發(fā)操作,使一個(gè)用戶事務(wù)的執(zhí)行不受其他事務(wù)的干擾,從而避免造成數(shù)據(jù)的不一致性。

關(guān)于數(shù)據(jù)庫并發(fā)操作會(huì)帶來的問題就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI