知方可補不足 UPDLOCK更新鎖的使用

2021-09-06 22:11:35 字數 883 閱讀 4752

回到目錄

對於高併發的場合下,使用updlock可以有效的控制併發更新的問題,即當乙個執行緒在進行with(updlock)並進行update時,另乙個執行緒將被阻塞,它會等第乙個執行緒更新結束後,才可以進行它裡面的操作,使用updlock有效的避免了併發更新而產生的資料錯誤的問題,如累加操作,第二個執行緒需要等第乙個執行緒累加結束後,才能進行下一步的累加動作,這是我們可以接受的。

測試**如下

begin tran

select *from webmanageusers with ( updlock )

where loginname = '

zzl'

waitfor delay

'00:00:10

'update webmanageusers

set realname = '

zzlreal11

'where loginname = '

zzl'

commit tran

**執行後,再開啟乙個sql客戶端,進行下面**的修改

begin tran

select *from webmanageusers with ( updlock )

where loginname = '

zzl'

waitfor delay

'00:00:10

'update webmanageusers

set realname = '

zzlreal22

'where loginname = '

zzl'

commit tran

回到目錄

知方可補不足 目錄

回到佔佔推薦部落格索引 知方可補不足系列主要是對原來的技術進行學習,研究,將之前不確定的東西進行驗證,將專案中正在用到的老技術進行總結。知方可補不足系列主要的範疇是資料庫方面 知方可補不足 說說吧!timestamp有什麼用?知方可補不足 sql巧用xml path來生成符合規則的查詢結果集 知方可...

知方可補不足 sqlserver中的幾把鎖 續

之前寫過相關的文章,對髒讀,不可重複讀,幻讀都做了相當的研究,而今天在程式中又出現了這個問題,即當一條資料被update時,另乙個執行緒同時發起了讀的操作,這對於序列化級別的事務是不被允許的,正常情況下它應該被阻塞,當事務消失時,資料從新被讀取。更新丟失 兩個事務都同時更新一行資料,乙個事務對資料的...

知方可補不足 說說吧!timestamp有什麼用?

最近開發了乙個公安機關的分布式系統,在系統中要求若干個人同時可以對資料庫進行讀寫操作。這時出現了一些聯想問題 1 當多於1人的使用者對同一條記錄進行寫操作時,先寫入的使用者的資料必定會被後寫入的使用者的資料override掉,這個問題如何解決?2 希望看比某一條記錄更新的 在這條記錄修改後,才進行修...