织梦CMS - 轻松建站从此开始!

快乐十分开奖网址:湖南快乐十分玩法

SQL Server的WITH (NOLOCK)

jackyhwei 发布于 2017-04-10 23:32 点击:次 
要提升SQL的查询效能,一般来说大家会以建立索引(index)为第一考虑。其实除了index的建立之外,当我们在下SQL Command时,在语法中加一段WITH (NOLOCK)可以改善在线大量查询的环境中数据集被LOCK的
TAG: SQLServer  NOLOCK  

WITH (NOLOCK)

湖南快乐十分玩法 www.7mhm0.cn 缺点:

  1.会产生脏读

  2.只适用与select查询语句

优点:

  1.有些文件说,加了WITH (NOLOCK)的SQL查询效率可以增加33%。

  2.可以用于inner join 语句

脏读: 一个用户对一个资源做了修改,此时另外一个用户正好读取了这条被修改的记录,然后,第一个用户放弃修改,数据回到修改之前,这两个不同的结果就是脏读。

详细内容:

要提升SQL的查询效能,一般来说大家会以建立索引(index)为第一考虑。其实除了index的建立之外,当我们在下SQL Command时,在语法中加一段WITH (NOLOCK)可以改善在线大量查询的环境中数据集被LOCK的现象藉此改善查询的效能。

不过有一点千万要注意的就是,WITH (NOLOCK)的SQL SELECT有可能会造成Dirty Read(脏读)。

例如:

SELECT COUNT(UserID)
FROM EMPLOYEE WITH (NOLOCK)
JOIN WORKING_GROUP WITH (NOLOCK)
ON EMPLOYEE.UserID = WORKING_GROUP.UserID

除了简单的SELECT之外,有JOIN的SELECT语法也是可以使用的。但是DELETE、INSERT、UPDATE这些需要transaction的指令就不行了…


有些文件说,加了WITH (NOLOCK)的SQL查询效率可以增加33%。
加了WITH (NOLOCK)即告诉SQL Server,我们的这段SELECT指令无需去考虑目前table的transaction lock状态,因此效能上会有明显的提升,而且数据库系统的Lock现象会有明显的减少(包含Dead Lock)。

有 一点要特别注意,因为WITH (NOLOCK)不考虑目前table的transaction lock,因此当有某些资料正处于多个phase交易(例如跨多个table的transaction交易-->如提款系统),WITH (NOLOCK)会让目前处理交易process的数据被忽略…

讲白话一点,也就是说当使用NoLock时,它允许阅读那些已经修改但是还没有交易完成的数据。因此如果有需要考虑transaction事务数据的实时完整性时,使用WITH (NOLOCK)就要好好考虑一下。

如果不需考虑transaction,WITH (NOLOCK)或许是个好用的参考。

注1:WITH ( < table_hint > )
指定由查询优化器使用的表扫描、一或多个索引,
或由查询优化器利用此数据表以及为此语句使用锁定模式。

注2:WITH (NOLOCK)相当于READ UNCOMMITTED

(henw)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [//www.7mhm0.cn/a/201704/17509.html]
本文出处:博客园 作者:henw 原文
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
将本文分享到微信
推荐内容

  • 端午小长假 宜春接游270.6万人次 旅游综合收入12.73亿元 2018-12-01
  • 落实党委的政治责任和领导责任,开创我国高等教育发展新局面 2018-07-25
  • 人民日报召开习近平新闻思想理论研讨会 2018-07-25
  • 跟着抖音去旅行,五一小长假,你的专属攻略请查收! 2018-07-24
  • 把课堂上的重点难点录下来 教学类短视频平台前景几何 2018-07-24
  • 蔡英文将二访巴拉圭?台媒:主要是想过境美国! 2018-07-23
  • 绷紧纪律弦,坚决对诱惑说“不” 2018-07-23
  • 李纪恒--内蒙古频道--人民网 2018-07-22
  • 端午假期全国迎客8910万人次 传统文化活动受青睐 2018-07-21
  • [调皮]“谈判技巧”始终摆脱不了“被迫谈判”的尴尬! 2018-07-21
  • 郭树清谈非法集资风险:收益率超6%需谨慎 2018-07-20
  • 优质金融资源“注”入云南 2018-07-20
  • 金灿荣:特朗普稳住阵脚后或对华更强硬 2018-07-19
  • 风雨兼程,与党和人民同行 2018-07-19
  • 727| 133| 105| 24| 484| 843| 823| 650| 314| 962|