給表加乙個字段表示修改的時間,或者也可以是乙個隨機數
1 比如user1修改了記錄record1,然後寫入標示字段 當前的時間或者是隨機數例如:441365
2 然後user2讀出了記錄record1,當然需要讀出標示字段:441365
3 user2 編輯了record1的值
4 user3讀出了記錄record1,
5 user3修改了record1的值 並更新到資料庫中, 更新的時候需要寫上 where 標示字段=443165
並且使用新的標示值例如:638413
6 user2 將record1資料更新到資料庫中,更新的時候需要寫上 where 標示字段=443165
但是這個時候,record1的標示字段已經變成了638413 ,所有沒有更新成功
7 提示未更新成功,因為其它使用者已經修改了record1
非常好
ms提供了處理併發問題的方案,就是加lock,其中lock分4個等級[記不清楚了]。。。查一下msdn就有了.
解決併發導致資料異常問題
通常我們資料異常是由於併發導致的,那麼我們如何避免這種問題呢?舉例 當使用者買充值卡時,我們一般會先查取資料庫,然後改資料狀態,給使用者返回充值卡號,那問題來了 當同一時刻的使用者一起購買充值卡時,就可能造成買到同乙個充值卡,從而導致資料異常 解決方案 1 如果併發並不是很高的情況下,我們可以考慮悲...
高併發和大資料的解決方式
現在,軟體架構變得越來越複雜了,好多技術層出不窮,令人眼花繚亂,解決這個問題呢,就是要把複雜問題簡單化,核心就是要把握本質。軟體剛開始的時候是為了實現功能,隨著資訊量和使用者的增多,大資料和高併發成了軟體設計必須考慮的問題,那麼大資料和高併發本質是什麼呢?本質很簡單,乙個是慢,乙個是等。兩者是相互關...
解決資料庫併發下的髒資料的思考
size large color blue 一般解決資料庫髒資料的問題,常常用到樂觀鎖和悲觀鎖。樂觀鎖是在我取出資料進行操作前獲取到當前乙個時間戳,當更新的時候在對比下時間戳。如果時間戳相同則更新,否則不更新。悲觀鎖則是在取出資料的時候將這條資料加鎖,其他要獲取操作這條資料的動作要等到釋放鎖之後才能...