我们有一些SSRS报告,这些报告在大量数据的情况下运行缓慢。
我们考虑在报告中的后端存储过程中进行一些查询优化。
我的问题是,为了报告目的,在存储过程中添加(nolock)
提示(仅在select语句中)是否合适?
答案 0 :(得分:0)
DB锁当然对确保您不会变得很脏很重要。您的交易涉及的数据。不过,有些情况下你可以安全地使用NOLOCK。例如,如果你必须使用游标(最好避免,但有时是必要的),光标可以被写入它只接收最小的键字段,在NOLOCK条件下,然后在循环内你根据需要读取表(带锁)使用光标字段值,执行您的更改,提交,并移动到下一个光标rec以获取下一组键(在nolock下)。如果明智地使用它的资产。