sql server中有哪几种锁定模式(SQL Server三种锁定模式的知识讲解)
sql server中有哪几种锁定模式
SQL Server三种锁定模式的知识讲解sql server 锁定模式有三种:共享( S锁),更新(U锁),排他(X锁);
S锁是共享锁,如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。
个人理解为,对数据A的操作就只能是SELECT ,(联想下,S锁,不就是Select的首字母么),其他事务对A数据的UPDATE ,DELETE都不能进行;
U锁是更新锁。用于可更新的资源中。防止当多个会话在读取、锁定以及随后可能进行的资源更新时发生常见形式的死锁。
原理解释:
更新锁
更新 (U) 锁可以防止通常形式的死锁。一般更新模式由一个事务组成,此事务读取记录,获取资源(页或行)的共享 (S) 锁,然后修改行,此操作要求锁转换为排它 (X) 锁。
如果两个事务获得了资源上的共享模式锁,然后试图同时更新数据,则一个事务尝试将锁转换为排它 (X) 锁。
共享模式到排它锁的转换必须等待一段时间,因为一个事务的排它锁与其它事务的共享模式锁不兼容;发生锁等待。
第二个事务试图获取排它 (X) 锁以进行更新。
由于两个事务都要转换为排它 (X) 锁,并且每个事务都等待另一个事务释放共享模式锁,因此发生死锁。
若要避免这种潜在的死锁问题,请使用更新 (U) 锁。一次只有一个事务可以获得资源的更新 (U) 锁。
如果事务修改资源,则更新 (U) 锁转换为排它 (X) 锁。否则,锁转换为共享锁。
个人理解,打个比方,A,B都拿把枪指着对方说:”我等你放下枪我就放下枪“,大家都等对方放下枪,于是就这么死僵持着......
X锁是排他锁,也叫独占锁,事务对A资源的insert ,update ,delete要用独占,不然的话乱套了;这是为了保护数据再一次操作中的准确性;
个人理解就是,一次一个....
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。如果你想了解更多相关内容请查看下面相关链接
- mysql乐观锁一定比悲观锁性能高(mysql居然还能实现分布式锁的方法)
- mysql存储引擎的创建与修改(关于MySQL Memory存储引擎的相关知识)
- sqlserver2016的安装(Sql Server2016 正式版安装程序图解教程)
- 详解DB2 sqlstate 57016 SQLCODE=-668 原因码 "7"错误的快速解决办法(详解DB2 sqlstate 57016 SQLCODE=-668 原因码 "7"错误的快速解决办法)
- mysql经典问题(MySQL null的一些易错点)
- sql中把一列数据相加(SQL实现相邻两行数据的加减乘除操作)
- navicat怎么和mysql连接(Navicat Premium远程连接MySQL数据库的方法)
- mysql 使用小结(Mysql Online DDL的使用详解)
- mysql8.0.25安装及配置超详细教程(MySQL8.0.21安装步骤及出现问题解决方案)
- SQL Server中的临时表的用法
- 修改mysql安装服务名称(Apache为mysql以及自己的项目设置虚拟路径)
- mysql数据类型
- kettle替换sql语句(sql server定时作业调用Kettle job出错的快速解决方法)
- mysql重复插入数据教程(Mysql避免重复插入数据的4种方式)
- mysql对大表千万级如何优化(MySQL 大表的count优化实现)
- 解释mysql慢查询(MySQL Threads_running飙升与慢查询的相关问题解决)
- 天空是什么颜色(天空是什么颜色的英语)
- 高马尾扎发(高马尾扎发教程视频)
- 这里输入关键词(请手动输入关键词)
- 小说 顾瑾岚拿出一套飞行棋,别说你连飞行棋都不会哦(顾瑾岚拿出一套飞行棋)
- 金品公司 界界乐中秋限定飞行棋礼盒 露营藤篮礼盒全新上市(界界乐中秋限定飞行棋礼盒)
- 必看 8月,相比七夕,更需要注意的是这些事(必看8月相比七夕)
热门推荐
- Extjs中文乱码
- mysql优化使用方法(详解Mysql函数调用优化)
- css如何制作动画效果(CSS制作三角形广告引导文字效果)
- css如何两列布局(浅谈CSS 多栏布局Multi-Columns Layout)
- vue 表格数据增加修改(vue element实现表格增加删除修改数据)
- sql server 数值类型运算(SQL SERVER2012中新增函数之字符串函数CONCAT详解)
- sqlserver设置自动备份的注意事项(SQL server 定时自动备份数据库的图文方法)
- 阿里云ecs怎么进去(阿里云ECS服务器centos系统第一次登录提示Login Incorrect的解决方法)
- extjs XTemplate的实例
- python代码如何进行切片索引(Python读取Pickle文件信息并计算与当前时间间隔的方法分析)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9