数据死锁
c#中写了一个方法,方法中对数据库中同一个表有两条操作语句1:根据id值更新数据2:根据同一个id查询数据,结果经常报死锁,希望高人指点一下啊,先谢过了
------解决方案--------------------把操作语句贴出来
------解决方案--------------------ID有没有索引?死锁的原因查到了吗?
------解决方案--------------------你是不是两条语句并发了?
------解决方案--------------------你是要先update还是先查询?这个要分顺序,不然你第一次读出来的数据和第二次读出来的数据是不一样的。
------解决方案--------------------先檢查是頁面鎖還是範圍鎖,如果每次只更新一行數據,可以考慮加rowlock,以免鎖升級導致死鎖的發生。
------解决方案--------------------死锁不是这两个方法的问题。 如果都是按1,2顺序执行执行,没道理出现死锁的。
------解决方案--------------------select 的时候加with(nolock)
------解决方案--------------------
同意,应该不是这个问题,可能的问题是有其他操作跟你的顺序相反,先SELECT后UPDATE,这样两个操作可能会产生死锁。建议你还是找出死锁的原因然后寻求解决办法。