我需要非常频繁地执行这个 SQL
UPDATE Users SET UserPoint=UserPoint+(@UserPoint) WHERE UserID=@UserID
我可以允许脏读或脏写,但我不想看到死锁,有没有办法最大限度地避免死锁?
编辑
好的,@Tomtome 这可能不是僵局,这对我来说是个好消息。
在这里我跟进一个新问题,希望您能提供帮助。
我还需要读取数据,所以我使用
SELECT UserPoint FROM [Users] WITH (NOLOCK) WHERE UserID=@UserID
这不是一个事务,只是一个简单的一行 SQL,而且我已经使用了,如果我允许脏读,是否nolock
需要使用SET TRANSACTION ISOLATION LEVEL
以避免死锁。
再次 EIDT
我认为 SET ISOLATION LEVEL 为 READ UNCOMMITTED 和 WITH NOLOCK 是一回事。所以完成了。谢谢大家,