SQLServer数据库的锁类型总结
发布时间:2020-12-12 14:36:08 所属栏目:MsSql教程 来源:网络整理
导读:1.HOLDLOCK: 在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁。 2.NOLOCK:不添加共享锁和排它锁,当这个选项生效后,可能读到未提交读的数据或“脏数据”,这个选项仅仅应用于SELECT语句。 3.PAGLOCK:指定添加页锁(否则通常
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的作用是允许用户先读取数据(而且不阻塞其他用户读数据),并且保证在后来再更新数据时,这一段时间内这些数据没有被其他用户修改。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQLServer2008高版本文件移植到低版本SQLServer2005文件或S
- .net – 将DateTime解析为SQL Server的最佳方法
- sql – 删除Oracle 10中的锁定
- sqlserver通配符使用-特殊符号处理-escape
- sql – 将两个表合并为一个新表,以便忽略另一个表中的选择行
- sql-server – 在SQL Server上优化大型表(1M行)的方法是什么
- SQL进行排序、分组、统计的10个新技巧分享
- sql – 如何获取存储过程参数的详细信息?
- SqlServer配置管理器“无法连接到WMI提供程序。您没有权限或
- SQL Server 2012中LEFT OUTER JOIN的SQL语法