只读数据库上的NoLock

时间:2017-08-10 07:55:17

标签: sql sql-server database

我有一个仅用于报告的数据库。 各种用户访问此数据库。

所有这些用户只有只读访问权限。

所以我只读了这个数据库的访问权限。

我应该使用NOLOCK吗?对于只读访问用户来说它是否有用?

1 个答案:

答案 0 :(得分:0)

这已被多次覆盖,TLDR:我不打算使用它。唯一的情况是,如果你想要一个非常粗略的行计数大型表的球场数字并且不关心它是否有点错误,但即便如此 - 您应该更喜欢创建好的索引,添加RAM或更改隔离级别查询/服务器。

替代方案的资源和建议:

https://www.brentozar.com/archive/2016/12/nolock-ever-right-choice/

Is the NOLOCK (Sql Server hint) bad practice?

https://blogs.sentryone.com/aaronbertrand/bad-habits-nolock-everywhere/

https://dba.stackexchange.com/questions/10655/is-nolock-always-bad