并发读取同一表记录
系统描述: Windows2000+SQLServer2000; 50个以上的连接(ADO)
问题描述: 表1个 字段(*CID,OWNER,FIELD1,FIELD2,...,STATUS)*表示主键
如果50个连接要求的都是从该表读1条STATUS=0的记录,但是不能有重复,也就是说每个连接只能读1条记录的内容,并保证别的连接是读不到的。在取出记录后,处理完后就UPDATE STATUS=1,然后继续读新的一条记录。依次类推。(当然在读数据的时候连接是使用存储过程读的)
问题出现: 当有1000000条记录,50个连接同时开始读的时候.......速度慢了点
当最后只有20条左右STATUS=0的记录的时候............有死锁现象
寻求一种高效的解决办法。