今天對mariadb事務并發(fā)的五類問題,進行了測試,結(jié)果得到以下的結(jié)論
事務并發(fā)5類問題(如果數(shù)據(jù)庫沒有做任何并發(fā)處理的情況下)
第一類丟失更新:兩個事務更新相同數(shù)據(jù),另一個事務回滾,第一個事務的更新會被回滾(maridb中該問題解決掉了,不需要考慮,已測試)
臟讀:第二個事務讀到第一個事務未提交的更新數(shù)據(jù),第二個事務根據(jù)該事務執(zhí)行,但第一個事務回滾,第二個事務操作臟數(shù)據(jù)(事務空間解決了該問題)
虛讀:一個事務查詢到另一個事務已經(jīng)提交的新數(shù)據(jù),導致多次查詢結(jié)果不一致(事務空間解決了該問題)
第二類丟失更新:多個事務同時讀取相同數(shù)據(jù),并完成各自的事務提交,導致最后一個事務提交會覆蓋前面所有事務對數(shù)據(jù)的改變(maridb中該問題解決掉了,不需要考慮,已測試)
備注:mariadb版本號10.1.21