求教:关于web中(采用asp.net+sqlserver开发),避免并发,锁的问题。求各位给些指点,见下。。。
十年技术路 2016-04-22 09:58:40 采用的是asp.net平台开发,用的是MSSQL SERVER数据库,里面有一张核心表,有很多地方需要往该表插入数据。
需求简化后是这样的:该表有个字段Num,首先获取当前该表最新的一条记录A,然后将记录A中的Num值加上一个随机数,这样生成一条记录B,然后将记录B插入该表作为最新的数据。
在其他多个地方,均是如此操作,都是读取当前最新的一条记录,然后进行加减,再将加减后的数据插入该表作为最新的。
以上是一个简单的举例,实际情况更多变数,并且并发在某些时段也会很高,这样会造成数据可能不准确。
个人作为才工作半年的菜鸟,想到的解决方式实在不成熟,请教大家给些指点,如何尽量高性能的解决处理。
(现在想到的初步做法是两种:
1.给数据库中该表加序列锁;
2.或者在后台c#代码里任何操作该表逻辑的地方,进行lock锁。
但也就想到这里了,具体细节上也不知道还要注意什么,并且感觉处理的也粗糙,性能也不高。
所以希望大家帮忙给些具体的指点或者思路,不甚感激!谢谢各位。。)