【发布时间】:2017-11-03 09:44:05
【问题描述】:
我已阅读有关此和事务隔离级别的信息,只是想知道.....
我有一些针对产品、类别、位置和库存的查询。
现在产品、类别和位置数据很少发生变化,但您可以想象,库存会发生变化。
在产品、类别、位置上指定WITH (NOLOCK) 而不在 Stock 上指定是否合理?
我做了一些计时,它似乎确实提高了性能,所以我很高兴。
我的理解是,如果我没有在 Stock 上指定 WITH (NOLOCK),那只会得到已提交的事务,而不会出现脏读。
同时,由于其他表格的内容很少改变,指定WITH (NOLOCK) 是安全的。
我正在处理的特定过程不会写入任何提到的表......它将一些结果放入#table并从中返回行。
感谢您的想法。
【问题讨论】:
-
就个人而言,我不会使用 NOLOCK 来提高性能。索引和查询调优通常是提高性能的最佳方式。
-
我听到你的声音,但有时我们只能改变我们可以控制的东西 ;) 我明白利弊......在提到的情况下,考虑到使用涉及的问题。从长远来看,你是对的,但现在......
标签: sql-server isolation-level nolock