文章詳情頁
數(shù)據(jù)庫 - mysql如何處理數(shù)據(jù)變化中的事務?
瀏覽:80日期:2022-06-14 13:16:41
問題描述
有以下兩個事務同時commit:A: 讀取余額,減掉50,提交更新數(shù)據(jù)庫B: 讀取余額,加上50,提交數(shù)據(jù)庫
假設A,B兩事務同時提交,mysql如何保證最終結果正確?mysql默認隔離級別為可重復讀,那么就有可能A讀到余額100元,然后更新到50;此時B執(zhí)行,B執(zhí)行完成。此時庫為150;A再提交的話就成了50,B的更新被覆蓋。。我的這個理解方式哪里有問題?mysql如何解決這個問題?
問題解答
回答1:事務這塊在程序控制,一般不要數(shù)據(jù)庫自己的事務機制
回答2:select for update,上鎖,效果就是A或B其中一個讀了余額,另外一個等待鎖讀不了余額,也就不會有后續(xù)的并發(fā)寫。
回答3:你這個不屬于事務,事務是用來處理多個事件的添刪改
而你這個屬于并發(fā)。。。
只是修改一條數(shù)據(jù),不需要使用事務,像你說的同時就會耗性能
相關文章:
1. python - 有什么好的可以收集貨幣基金的資源?2. css3 - jquery div 翻轉?3. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.4. docker容器呢SSH為什么連不通呢?5. docker鏡像push報錯6. docker start -a dockername 老是卡住,什么情況?7. docker網(wǎng)絡端口映射,沒有方便點的操作方法么?8. golang - 用IDE看docker源碼時的小問題9. node.js - nodejs debug問題10. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題
排行榜

熱門標簽