這門課是慕課網最棒的課程,沒有之一 感謝! 期待老師 后續出 關于應用集群部署、DB集群、分庫分表、消息隊列 系列課程~ 贊我贊我贊我讓老師看到!
2017-12-01
關于先執行insert與先執行update的區別,兩個事務同時insert的情況下,沒有鎖競爭,執行速度會快,
當兩個事務先update同一行數據,會有一個事務獲得行鎖,鎖在事務提交之前都不會釋放,所以讓鎖被持有的時間最短能提升效率
當兩個事務先update同一行數據,會有一個事務獲得行鎖,鎖在事務提交之前都不會釋放,所以讓鎖被持有的時間最短能提升效率
2017-11-29
老師的思路真是令人耳目一新,簡單調換一下sql執行順序,便讓事務獲得鎖的時間降低許多,說導致超賣問題的人,要知道兩個請求同時到達mysql,第一個請求成功處理完之前(事務提交或回滾之前)是會獨占行鎖的,當第二個請求想更新庫存發現更新失敗(此時庫存為0,影響結果行數為0)便拋出一個runtime異常,讓spring回滾事務,清除掉前面插入的購買明細,所以不存在超賣問題
2017-11-29
先執行insert或update有什么區別呢? 老師說insert失敗了 update不執行了,直接回滾釋放鎖。 但是先執行的update失敗了 也一樣后面不執行,拋異常回滾釋放鎖了 有什么區別嗎 除非:insert失敗的概率比較大 寫在前面
2017-11-16