文章詳情頁
mysql - 數據庫為什么需要鎖機制?
瀏覽:163日期:2022-06-12 15:18:55
問題描述
數據庫為什么需要鎖機制?能用代碼舉詳細的例子嗎,謝謝!
問題解答
回答1:比方說搶購場景 10000個人搶一件商品 如果沒有鎖機制 就有可能出現2333個人搶到這件商品 這時候你要賣給誰呢
回答2:數據庫和操作系統一樣,是一個多用戶使用的共享資源。當多個用戶并發地存取數據 時,在數據庫中就會產生多個事務同時存取同一數據的情況。若對并發操作不加控制就可能會讀取和存儲不正確的數據,破壞數據庫的一致性。加鎖是實現數據庫并 發控制的一個非常重要的技術。在實際應用中經常會遇到的與鎖相關的異常情況,當兩個事務需要一組有沖突的鎖,而不能將事務繼續下去的話,就會出現死鎖,嚴 重影響應用的正常執行。
在數據庫中有兩種基本的鎖類型:排它鎖(Exclusive Locks,即X鎖)和共享鎖(Share Locks,即S鎖)。當數據對象被加上排它鎖時,其他的事務不能對它讀取和修改。加了共享鎖的數據對象可以被其他事務讀取,但不能修改。數據庫利用這兩 種基本的鎖類型來對數據庫的事務進行并發控制。
回答3:主要是用來解決并發問題的,保證數據一致性。教程網上很多的,附個地址給你:http://www.cnblogs.com/fanp/p...
相關文章:
1. JavaScript將.apply()與'new'運算符配合使用這可能嗎?2. angular.js - webpack build后的angularjs路由跳轉問題3. java - Activity中的成員變量被賦值之后,Activity被回收的時候內存才會被釋放嗎4. java - web項目中,用戶登陸信息存儲在session中好 還是cookie中好,取決于什么?5. 為什么 必須在<ul> 下建立 <li> 在建<a>?6. 請求一個數據返回內容為空或者錯誤如何再次請求幾次7. 老師,flex-shrink: 1; 按視頻操作,不會自動縮放8. 為什么bindClass訪問不了的?9. Discuz! Q 有人用過嗎?10. 我寫的哪里有錯?請大神幫忙查看一下。
排行榜
