深入解析mysql的事務(wù)隔離及其對性能的影響論文(深入解析mysql的事務(wù)隔離及其對性能的影響研究)

發(fā)布時間:2024-07-26
本文主要介紹深入分析mysql事務(wù)隔離及其對性能的影響論文(深入分析mysql事務(wù)隔離及其對性能的影響),下面一起看看深入分析mysql事務(wù)隔離及其對性能的影響論文(深入分析mysql事務(wù)隔離及其對性能的影響)相關(guān)資訊。
sql標(biāo)準(zhǔn)定義了四種隔離級別,包括一些特定的規(guī)則來限制事務(wù)內(nèi)外可見和不可見的變化,而低級別的隔離級別通常支持更高的并發(fā)處理,并且具有更低的系統(tǒng)開銷。read uncommitted(讀取未提交的內(nèi)容)在這個隔離級別,所有事務(wù)都可以看到其他未提交事務(wù)的執(zhí)行結(jié)果。這種隔離級別在實際應(yīng)用中很少使用,因為它的性能并不比其他級別好。read commit(讀提交)這是大多數(shù)數(shù)據(jù)庫系統(tǒng)的默認(rèn)隔離級別(不是mysql的默認(rèn))。它滿足了隔離的簡單定義:事務(wù)只能看到提交給公司的變更。這個隔離級別還支持所謂的不可重復(fù)讀取。因為同一事務(wù)的其他實例在實例處理期間可能會有新的提交,所以同一選擇可能會返回不同的結(jié)果。可重復(fù)讀取(重讀)這是mysql默認(rèn)的事務(wù)隔離級別,這樣同一個事務(wù)的多個實例在讀取數(shù)據(jù)的同時可以看到同一個數(shù)據(jù)行,但理論上這可能會導(dǎo)致另一個棘手的問題:幻影讀取。簡單來說,魔讀,當(dāng)用戶讀取一系列數(shù)據(jù)行時,在另一個事務(wù)中插入一個新行range。當(dāng)用戶讀取數(shù)據(jù)行時,將會出現(xiàn)一個新的幻像行。innodb和falcon存儲引擎通過多版本并發(fā)控制(mvcc)機制解決了這個問題。序列化(serialization)這是最高級別的隔離,這使得不可能通過強制事務(wù)相互來解決幻影問題。簡而言之,它是每個讀取數(shù)據(jù)線上的共享鎖。在這個級別,可能會導(dǎo)致大量超時和鎖爭用。這四個隔離級別是用不同的鎖類型實現(xiàn)的。如果讀取相同的數(shù)據(jù),很容易出現(xiàn)問題:臟讀(dirty reading):一個事務(wù)更新數(shù)據(jù),另一個事務(wù)讀取相同的數(shù)據(jù)。由于某些原因,上一個回滾操作和下一個office讀取的數(shù)據(jù)會不正確。can 不重復(fù)閱讀,可以 不重復(fù)。在事務(wù)的兩次查詢中,數(shù)據(jù)不一致。這可能是兩個查詢過程,其中插入事務(wù)更新原始數(shù)據(jù)。(幽靈閱讀)幽靈閱讀:兩次查詢中,事務(wù)數(shù)據(jù)個數(shù)不一致,比如事務(wù)查詢系列(行)數(shù)據(jù)和另一個事務(wù),但這時有新的數(shù)據(jù)進入列,前一個事務(wù)在下一個查詢中,你會發(fā)現(xiàn)前幾列數(shù)據(jù)都沒有。在mysql中,實現(xiàn)了這四個隔離級別,可能出現(xiàn)的問題如下:mysql事務(wù)隔離級別對其性能的影響。mysql默認(rèn)工作在第三層。我們知道事務(wù)隔離是為了避免數(shù)據(jù)避免并發(fā)操作的交互一致性。為了保證數(shù)據(jù)的一致性,本文引入了事務(wù)隔離功能,保證了四級以上數(shù)據(jù)的一致性。護理逐漸改善。四級事務(wù)的分離效果最好,但性能最差,一般不用于生產(chǎn)環(huán)境。以下示例用于測試mysql在不同級別的性能影響。我的實驗環(huán)境是:redhat5.8 mysql5.5首先,我們啟用了兩個會話:1。為了驗證1級的特性,我們在session a上做的是session b的操作和session a一樣,這個session不再附上截圖。接下來,我們將觀察一系列實驗,以了解什么是read-uncommitt測試mysql在這個層面上是如何工作的,它有哪些特性,我們應(yīng)該怎么做。我們建立一個repeatable-read first環(huán)境,具體操作方法如下:然后我們看初始數(shù)據(jù),結(jié)果如下:我們在session a中修改數(shù)據(jù)并提交,修改結(jié)果如下:然后我們看session b,發(fā)現(xiàn)還是沒有變化:這個是可讀性的一個屬性。只要會話沒有提交,但是對方修改了,但是結(jié)果不變。只有在sessionb中執(zhí)行提交操作時,修改才會在session b中生效..4.serially此級別是事務(wù)隔離安全性中最好的,但也是性能最差的,因為此級別的所有操作都是串行執(zhí)行的。一個操作尚未提交,另一個受影響的操作處于阻塞狀態(tài)。為了驗證這個效果,我們設(shè)置了環(huán)境,與會話a和會話b同時設(shè)置,如下圖:沒有提交任何會議修改。此時發(fā)現(xiàn)sessionb查詢操作總是被阻塞。這是串行隔離的結(jié)果,也是并發(fā)隔離中序列化較差的原因。
了解更多深入分析mysql事務(wù)隔離及其對性能的影響論文(深入分析mysql事務(wù)隔離及其對性能的影響)相關(guān)內(nèi)容請關(guān)注本站點。
上一個:實測或檢查安裝記錄滑接線在絕緣子上的固定
下一個:總有人用到APG液位開關(guān)NLS-1A PART:122198

婚姻冷暴力能離婚嗎
win8密碼提示(win8輸錯密碼鎖定多久)
井用潛水泵安裝注意事項
高壓風(fēng)機的安裝方法
sifam
華為mate20有沒有耳機接口(華為mate20的耳機孔在哪里)
全自動智能蒸餾器如何選擇
新產(chǎn)品:AT-MSX系列防爆微差壓變送器
氣相色譜儀載氣流速的測定和控制
小型真空包裝機用什么袋子
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos