dat*_*god 23 sql-server locking nolock
您是否曾经不得不证明不使用查询提示是合理的?
我WITH (NOLOCK)在每个访问非常繁忙的服务器的查询中都看到了。开发人员认为它应该默认开启,因为他们讨厌在他们的代码中看到它数千次。
我试图解释说它允许脏读,最终它们会得到坏数据,但他们认为性能权衡是值得的。(他们的数据库一团糟;难怪他们有性能问题。)
如果你有一个明确的例子来说明如何反对这种滥用NOLOCK提示的情况,那将不胜感激。
San*_*ddy 17
你选择你的战斗,像这样的战斗不容易赢得。我们有一个系统,其中每个 DML 都使用 ROWLOCK 提示进行提示(无论修改一行还是几千行)。我展示了几个示例,说明为什么它确实会损害性能,但由于系统已经在运行,因此很难改变。请注意,我已经足够说服他们不要继续使用它。
NOLOCK 有它的地方,但我可以推荐一些很好的参考资料,展示使用它的麻烦:
gbn*_*gbn 11
之前已经在 SO 上讨论过:
定义很忙。我们有大量数据(每秒 5 万行新行、大型聚合等),并且也不需要获取可疑数据
| 归档时间: |
|
| 查看次数: |
4972 次 |
| 最近记录: |