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

WITH(NOLOCK)与WITH(READPAST)

    博客分类:
  • SQL
阅读更多
WITH(NOLOCK): 会直接显示被事物锁定的行 (如果事物回滚, 显示出来的将是脏数据)
WITH(READPAST) : 会跳过被[行级锁]锁定的数据, 注意这里是[行级锁], 而Sql Server中大部分的表锁定都是共享锁.

结论一, 使用WITH(NOLOCK)需要考虑显示了脏数据的影响
结论二, 如果想用WITH(READPAST)来减少死锁的情况,需要搞清楚[行级锁], 在大部分情况下使用WITH(READPAST)还是会阻塞.


分享到:
评论

相关推荐

    sqlserver中with(nolock)深入分析

    在SQL Server中,`WITH (NOLOCK)`和`READPAST`是两种不同的事务隔离级别,它们用于处理并发控制和避免死锁问题。在处理数据库死锁时,这两个选项经常被推荐作为解决策略,但使用时需谨慎,因为它们可能会引入其他...

    sqlserver2008锁表语句详解(锁定数据库一个表)

    使用`SELECT * FROM table WITH (NOLOCK)`,SQL Server在执行查询时不会施加任何锁,允许读取未提交的数据(脏读),这等同于设置事务隔离级别为`READ UNCOMMITTED`,可能会导致不一致的数据读取。 4. **UPDLOCK**...

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

    Another type of table lock is a schema stability lock (Sch-S) and is compatible with all table locks except the schema modification lock (Sch-M). The schema modification lock (Sch-M) is incompatible ...

    SQL的锁机制

    - 示例:`SELECT * FROM table WITH (ROWLOCK, READPAST)` - **排他锁 (X)**:不允许其他用户对锁定的数据行进行任何读写操作。 - 示例:`UPDATE table SET column = value WHERE condition` 除了上述两种基本锁...

    sql的update语句功能非常强大.docx

    需要注意的是,不允许使用 `READPAST`、`NOLOCK` 和 `READUNCOMMITTED` 这些提示。 - `view_name`:要更新的视图的名称。只有当视图是可更新的情况下才能使用。更新操作最多只能影响视图的 `FROM` 子句中引用的基表...

    sql锁表与解锁

    SQL 锁表与解锁 锁表 锁表是 SQL Server 中的一种机制,用于控制对数据库表的访问。锁表可以防止多个用户同时修改同一条记录,从而避免数据不一致的问题。SQL Server 提供了多种锁表方式,包括共享锁、排它锁、...

Global site tag (gtag.js) - Google Analytics