`
lexinquan
  • 浏览: 45907 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SQL With Nolock

SQL 
阅读更多
with nolock 相当于 READ UNCOMMITTED事务隔离级别.

注:
----------------------------------------------
READUNCOMMITTED      
       
    指定允许脏读。这表示不发放共享锁,也不遵守排它锁。允许脏读会导致更高的并发性,但会降低一致性。如果指定了       READUNCOMMITTED,就有可能读取未提交的事务,或读取在读取过程中回滚的一套页,因此可能出现错误信息。
----------------------------------------------

优点:
sql查询时使用with(nolock)是不锁定表,从而达到提高查询速度的目的。  

缺点:
NOLOCK 语句执行时可能读脏数据。

适用场景:
1、不需要经常变动的信息,如
2、允许脏数据存在的情况,如新闻数据信息。
3、数据量特别大的表,查询加上nolock可以大大提升性能和用户体验,当然,它是以牺牲数据一致性和安全性来提升性能的。
分享到:
评论

相关推荐

    EFCore.SqlServer.WithNoLock

    EFCore.SqlServer.WithNoLock

    sqlserver中with(nolock)深入分析

    处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAST,本文将介绍有关 NOLOCK 和 READPAST的一些技术知识点,需要的朋友可以参考下

    SQL Server的WITH (NOLOCK)

    缺点:  1.会产生脏读  2.只适用与select查询语句  优点:  1.有些文件说,加了WITH (NOLOCK)的SQL...其实除了index的建立之外,当我们在下SQL Command时,在语法中加一段WITH (NOLOCK)可以改善在线大量查询的环

    sql server 性能优化之nolock

    其实除了index的建立之外,当我们在下SQL Command时,在语法中加一段WITH (NOLOCK)可以改善在线大量查询的环境中数据集被LOCK的现象藉此改善查询的效能。  不过有一点千万要注意的就是,WITH (NOLOCK)的SQL SELECT...

    hibernate SQLServer2008Dialect

    SQLServer2008Dialect 优化了原来的分页查询数据方法以及在生成SQL时表后增加了with(nolock)

    SQLServer2008Dialect

    SQLServer2008Dialect 优化了原来的分页查询数据方法以及在生成SQL时表后增加了with(nolock)

    微软内部资料-SQL性能优化3

    An intent lock indicates that SQL Server wants to acquire a shared (S) lock or exclusive (X) lock on some of the resources lower down in the hierarchy. For example, a shared intent lock placed at the ...

    全国身份证+车牌+省市表

    SELECT ca.code,ca.name,ca.ParentCode,az.name,az.latitude,az.longitude FROM CarArea ca WITH(NOLOCK) LEFT JOIN ( SELECT * FROM AreaZoon WITH(NOLOCK) WHERE parentCode='0' ) az ON az.proshortname=ca....

    【微软SQL2008精编】

    select * from dbo.UserInfo with (nolock) HOLDLOCK 持有共享锁,直到整个事务完成,应该在被锁对象不需要时立即释放 NOLOCK 语句执行时不发出共享锁,允许脏读 ,等于 READ UNCOMMITTED事务隔离级别

    SQL中WHERE变量IS NULL条件导致全表扫描问题的解决方法

    代码如下:SET @SQL = ‘SELECT * FROM Comment with(nolock) WHERE 1=1 And (@ProjectIds Is Null or ProjectId = @ProjectIds) And (@Scores is null or Score =@Scores)’ 印象中记得,以前在做Oracle开发时,...

    使用正则表达式匹配tsql注释语句

    代码如下:–获取表的count信息select count(*) from T with(nolock) –获取特定值的count信息select count(*) from T with(nolock)where v = ‘–value’ –获取表’T’的count信息select count(*) from T with...

    经量级的ORM开发框架CRL

    效率问题:在对象映射上作了缓存处理,查询效率几乎等于手写SQL效率,注:CRL对象查询默认是 with(nolock) 数据安全:所有标准查询都经过参数化处理,无注入风险 动态存储过程支持与查询转换,极大减少了数据库维护工作,...

    CRL面向对象ORM开发框架

    效率问题:在对象映射上作了缓存处理,查询效率几乎等于手写SQL效率,注:CRL对象查询默认是 with(nolock) 动态存储过程支持与查询转换,极大减少了数据库维护工作,增加开发效率 最新版本请关注:...

    E-stanl 软件

    //" inner join CR_Site b with (nolock) on a.CreatedSite = b.SiteId" + " where a.DepDesc like '" + SqlObject.Encode(obj2.DepDesc) + "%'" + " and a.DepCd like '" + SqlObject.Encode(obj2.DepCd) + "%'...

    sqlserver关于分页存储过程的优化【让数据库按我们的意思执行查询计划】

    代码如下: –代码一DECLARE @cc INT SELECT NewsId,ROW_NUMBER() OVER(ORDER BY SortNum DESC) AS RowIndex INTO #tb FROM news WITH(NOLOCK) WHERE NewsTypeId=@NewsTypeId AND IsShow=1 SET @cc = @@ROWCOUNT ...

    CRL快速开发框架2.2

    运行效率:在对象映射上作了缓存处理,查询效率几乎等于手写SQL效率,注:CRL对象查询默认是 with(nolock) 数据安全:所有标准查询都经过参数化处理,无注入风险 动态编译:数据表自动创建/动态存储过程支持与查询转换,极大...

    深入分析MSSQL数据库中事务隔离级别和锁机制

    SELECT * FROM Customer WITH (NOLOCK) 结果中显示”a”和”a”。当1中事务回滚后,那么a将成为脏数据。(注:1中的事务未提交) 。NOLOCK表明没有对数据表添加共享锁以阻止其它事务对数据表数据的修改。 SELECT * ...

Global site tag (gtag.js) - Google Analytics