溫馨提示×

溫馨提示×

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

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

MySQL關(guān)于事務(wù)常見的問題都有哪些呢

發(fā)布時(shí)間:2021-10-08 16:35:38 來源:億速云 閱讀:97 作者:柒染 欄目:MySQL數(shù)據(jù)庫

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)MySQL關(guān)于事務(wù)常見的問題都有哪些呢,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

所謂事務(wù),是指一組相互依賴的操作單位的集合,用來保證對數(shù)據(jù)庫的正確修改,保持?jǐn)?shù)據(jù)的完整性,如果 一個(gè)事務(wù)的某個(gè)單元操作失敗,將取消本次事務(wù)的全部操作。從理論上來說,事務(wù)彼此應(yīng)該完全隔離,以避免并發(fā)事務(wù)所導(dǎo)致的問題,但是,這樣會(huì)對性能產(chǎn)生極大的影響,因?yàn)槭聞?wù)必須按順序運(yùn)行,在實(shí)際開發(fā)中,為了提升性能,事務(wù)會(huì)以較低的隔離級別運(yùn)行,事務(wù)的隔離級別可以通過隔離事務(wù)熟悉指定

  • 事務(wù)的并發(fā)

臟讀:事務(wù)A讀取了事務(wù)B更新的數(shù)據(jù),然后B回滾操作,A讀取到的是臟數(shù)據(jù)

不可重復(fù)讀:事務(wù)A多次讀取同一數(shù)據(jù),事務(wù)B在事務(wù)A多次讀取的過程中,對數(shù)據(jù)做了更新并且提交,導(dǎo)致A多次讀取同一數(shù)據(jù)時(shí),結(jié)果先后兩次讀到的數(shù)據(jù)結(jié)果不一致

幻讀:解決了不可重復(fù)讀,事務(wù)A對一個(gè)表中的所有的行的某個(gè)數(shù)據(jù)項(xiàng)做了修改,這時(shí)B有隊(duì)這個(gè)表插入了一行數(shù)據(jù)項(xiàng),而這個(gè)數(shù)據(jù)項(xiàng)的數(shù)組還是原先的數(shù)值,A查看時(shí)看到的還是原來的數(shù)組,其實(shí)這是B添加的,就像幻覺一樣

  • 事務(wù)的隔離級別

讀未提交:另一個(gè)事務(wù)修改了數(shù)據(jù),但尚未提交,本事務(wù)中的SELECT會(huì)獨(dú)到這些違背提交的數(shù)據(jù)臟讀

不可重復(fù)讀:事務(wù)B在事務(wù)A多次讀取一個(gè)數(shù)據(jù)時(shí)對數(shù)據(jù)修改并提交,導(dǎo)致事務(wù)A多次讀取時(shí),結(jié)果不一致

可重復(fù)讀:SELECT的結(jié)果是事務(wù)開始時(shí)間的狀態(tài),因此,讀取到的結(jié)果是一致的,但是可能會(huì)有幻讀的現(xiàn)象

串行化:最高隔離級別,不會(huì)產(chǎn)生任何異常

  • MySQL的默認(rèn)事務(wù)隔離級別為repeatableread

  • MySQL中默認(rèn)事務(wù)隔離級別是“可重復(fù)讀”時(shí)并不會(huì)鎖住讀取到的行,寫數(shù)據(jù)會(huì)鎖住整張表

  • MySQL中事務(wù)級別為"未提交讀"時(shí),寫數(shù)據(jù)只鎖住相應(yīng)的行

  • MySQL中事務(wù)級別為“串行化”時(shí),讀寫數(shù)據(jù)都會(huì)鎖住整張表

隔離級別越高,越能保證數(shù)據(jù)的完整性和一致性,但是對并發(fā)性能的影響也越大,對于大多數(shù)的應(yīng)用程序來說,可以盡量把數(shù)據(jù)庫系統(tǒng)的隔離級別設(shè)為Read Committed,能夠盡量避免臟讀,且有比較好的并發(fā)性能

上述就是小編為大家分享的MySQL關(guān)于事務(wù)常見的問題都有哪些呢了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

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

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

AI