我有一个多用户的访问应用程序。我有一项任务似乎引起了偶然的冲突:
db.QueryTimeout = 0Server端数据的所有者建议在我的访问查询中添加(NOLOCK)提示。我并不认为这是一种选择,但我确实发现了一个随机的建议,即执行“选择不同的”不会锁定表--这是真的吗?
是否有任何避免记录锁定问题的建议--或者还有什么其他的想法需要寻找?
谢谢!
发布于 2014-08-05 23:30:19
我决定使用应用了(NOLOCK)的passthru选择查询。然后,我根据passthru查询创建了一个make_table查询。似乎运作得很好。
发布于 2014-08-05 17:01:46
他们是在搜索350 k记录还是复制350 k记录?
如果搜索350 k记录,INVID上的索引可能是有用的。
如果复制350 k记录,DISTINCT可以通过删除重复项来减少这一点,但是如果没有重复的条目,则没有帮助。
如果其他人正在访问相同的数据,NOLOCK会有所帮助,实际上是让其他人修改数据,但是您的描述是他们正在访问不同的数据。如果从同一张桌子上,NOLOCK可以帮上忙。
https://stackoverflow.com/questions/25142305
复制相似问题