快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

鸿博体育投注_个人经验总结:SQL Server数据库的锁类型



SQL Server锁:

1.HOLDLOCK: 在该表上维持共享锁,直鸿博体育投注到全部事务停止,而不是在语句履行完急速开释所添加的锁。

2.NOLOCK:不添加共享锁和排它鸿博体育投注锁,当这个选项生效后,可能读到未提交读的数据或“脏数据”,这个选项仅仅利用于select语句。

3.PAGLOCK:指定添加页锁(否则平日可能添加表锁)。

4.READCOMMITTED用与运行在提交读隔离鸿博体育投注级其余事务相同的锁语义履行扫描。默认环境下,SQL Server 2000 在此隔离级别上操作。。

5.READPAST: 跳过已经加锁的数据行,这个选项将使事务读取数据时跳过那些已经被其他事务锁定的数据行,而不是壅闭直到其他事务开释锁,READPAST仅仅利用于READ COMMITTED隔鸿博体育投注离性级别下事务操作中的select语句操作。

6.READUNCOMMITTED:等同于NOLOCK。

7鸿博体育投注.REPEATABLEREAD:设置事务为可重复读隔离性级别。

8.ROWLOCK:应用行级锁,而不应用粒度更粗的页级锁和表级锁。

9.SERIALIZABLE:用与运行在可串行读隔离级其余事务相同的锁语义履行扫描。等同于 HOLDLOCK。10. TABLOCK:指定应用表级锁,而不是应用行级或页面级的锁,SQL Server在该语句履行完后开释这个锁,而假犹如时指定了HOLDLOCK,该锁不停维持到这个事务停止。

11. TABLOCKX:指定在表上应用排它锁,这个锁可以阻拦其他事务读或更新这个表的数据,直到这个语句或全部事务停止。

12. UPDLOCK :指定在读表中数据时设置更新 锁(update lock)而不是设置共享锁,该锁不停维持到这个语句或全部事务停止,应用UPDLOCK的感化是容许用户先读取数据(而且不壅闭其他用户读数据),并且包管在后来再更新数据时,这一段光阴内这些数据没有被其他用户改动。

您可能还会对下面的文章感兴趣: