首页 新闻 会员 周边

讨论下WITH (nolock)

0
悬赏园豆:5 [已解决问题] 解决于 2012-04-29 22:15

一个锁的概念,之前用的不是很多,不太清楚属于哪个级别的锁,哪种开发case下使用

dreamhappy的主页 dreamhappy | 初学一级 | 园豆:4
提问于:2012-04-27 16:53
< >
分享
最佳答案
1

标准这样写:select * from tbName with(nolock)

简化这样写:select * from tbName(nolock)

不过在跨服务器时必须采用标准写法才可以,加nolock可以提高查询性能,不会锁表,在允许脏读的情况下用,一般来说大多数情况都是允许脏读的,呵呵,尤其是使用只读库时我们这边强制要求必须加nolock

收获园豆:1
懒惰的肥兔 | 菜鸟二级 |园豆:213 | 2012-04-28 15:43
其他回答(4)
1

在查询数据库(select * from tbName with(nolock))的时候可以加上,避免由于要查的表被锁定,造成查询超时。

收获园豆:1
blueskyjerry | 园豆:203 (菜鸟二级) | 2012-04-27 17:01
1

NOLOCK 语句执行时不发出共享锁,允许脏读 ,等于 READ UNCOMMITTED事务隔离级别 。

推荐阅读:SQL 2005 with(nolock)详解

收获园豆:1
dudu | 园豆:31003 (高人七级) | 2012-04-27 17:17
1

属于未提交读的隔离级别。适合查询一致性要求不高的情况,允许脏数据出现情况。

收获园豆:1
小材小用 | 园豆:639 (小虾三级) | 2012-04-28 07:37
1
收获园豆:1
KivenRo | 园豆:1734 (小虾三级) | 2012-04-29 19:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册