我正在构建一个VoIP交换机,我将使用SQL存储过程进行插入。 每次更新历史记录表时,我都需要更新用户表“balance field”。由于它是一个开关,我每秒可以有数百个更新。 我想知道用死锁和错误信息更新字段的最佳方法。 我将使用MS sql server 2012。
答案 0 :(得分:1)
将用户表分区为大小均匀的分区 - SQL 2012允许10000个分区。这样,更新分布在许多分配单元而不是一个。然后将WITH(ROWLOCK)提示添加到更新查询。
要启动实际更新,您可以使用触发器。