我正在構建一個VoIP交換機,我將要使用SQL存儲過程進行插入。 每次更新歷史記錄表時,我都需要更新用戶表「餘額欄」。由於它是一個開關,我可以每秒有數百次更新。 我想知道最好的方式來更新字段與死鎖和出錯的信息。 我將使用MS sql server 2012.一個字段上的SQL Server大容量更新
0
A
回答
1
將用戶表分區爲大小均勻的分區 - SQL 2012允許使用10000個分區。這樣更新分佈在許多分配單位而不是一個分配單位。然後將WITH(ROWLOCK)提示添加到更新查詢中。
要啓動實際更新,您可以使用觸發器。
+0
如果我添加RowLock,並且該字段需要更新非常快,我將無法獲得decklocks – Andrew
+0
死鎖需要兩個鎖資源。大多數情況下,它們是由一個事務內的不同順序訪問兩個表引起的。 - 如果您遵循上述建議,並且在同一交易中不做任何其他事情,那麼您很有可能會很好。但是,如果不知道整個系統,我不能給出明確的答案。 –
相關問題
- 1. 添加SQL Server數字字段並更新另一個字段?
- 2. 更新字段 - SQL Server
- 3. 如何獲取SQL Server中一個大型字段的內容?
- 4. 更新大量的行 - SQL Server 2005
- 5. 更新sql server 2008中的XML字段
- 6. SQL Server的臨時表更新字段
- 7. SQL Server大容量插入
- 8. Rails大容量更新
- 9. 在同一個表中更新datetime字段sql server 2008
- 10. SQL Server 2005條件更新字段
- 11. SQL Server更新字段中連接字符串的字段
- 12. SQL:更新字段在另一個字段的唯一值上循環
- 13. 有大量字段的Linq更新
- 14. 根據另一個選項卡上的內容更新字段
- 15. 根據另一個表中的字段內容更新字段
- 16. 多個字段上的SQL Server樞軸
- 17. 只有第一個字母在SQL Server上更新
- 18. 批量更新SQL Server C#
- 19. SQL Server:表變量更新
- 20. Sql更新大量的行
- 21. SQL - 更新字段
- 22. 從另一個表中更新SQL Server表的內容
- 23. 在同一個字段上使用大小寫更新值
- 24. 更新SQL Server中的同一個表
- 25. SQL Server 2008:如何根據同一個表中的另一個字段更新字段
- 26. 立即更新sql server xml數據字段上的多個屬性
- 27. 一個字段上的SQL觸發器
- 28. SQL - 使用另一個字段的字符串的一部分更新字段
- 29. SQL Server 2005 - 大容量插入問題
- 30. T-SQL如何從另一個nvarchar字段更新一個int字段的值
假設您插入到歷史記錄表中,您可以考慮使用觸發器來更新用戶餘額。 –