网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

SQLSERVER数据库的锁

系统运维

1SQL SERVER 锁的概念

栖霞网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

共享锁:用于读取资源所加的锁。拥有共享锁的资源不能被修改。共享锁在默认情况下是读取了资源马上被释放。

排他锁:和其他锁都不兼容,包括其他排他锁,排它锁用于修改数据,当资源上加了排他锁时,其他请求读取或修改这个资源的事物都会被阻塞,直到排他锁被释放为止。

更新锁:是共享锁和排它锁的结合,用于更新数据,更新数据时首先需要找到被更新的数据,此时可以理解为被查找的数据上了共享锁。当找到需要修改的数据时,需要对被修改的资源上排他锁。

sql server 通过更新锁来避免死锁的问题,因为共享锁和共享锁是兼容的,通过更新锁和共享锁兼容,使得更新查找时并不影响数据查找,而更新锁和更新锁之间是不兼容的,从而减少了死锁的可能性。

举例说明以上描述的锁:

1.1.创建环境

---创建表

sex nchar(1)

insert student values (5,'李四','男')

1.1.排他锁

.新建两个连接

在第一个连接中执行以下语句

在第二个连接中执行以下语句

committran

若同时执行上述两个语句,则select查询必须等待update执行完毕才能执行既要等待30秒

1.1.共享锁

在第一个连接中执行以下语句

committran

在第二个连接中执行以下语句

committran

若同时执行上述两个语句,则第二个连接中的select查询可以执行,而UPDATE必须等待地一个事物释放

共享锁转为排它锁后才能执行,既要等待30秒.

1.1.死锁

1.1.更新锁

更新锁

在第一个连接中执行以下语句

select * from sys.dm_tran_locks

在第二个连接中

在第二个连接中如果同样加更新锁,则会阻塞当前查询,直到连接释放更新锁。

如果不加更新锁则直接可以读取更新锁的记录。

,有时候我需要控制某条记录在我读取后就不许再进行更新,那么我就可以将所有要处理当前记录的查询都加上更新锁,以防止查询后被其它事务修改.将事务的影响降低到最小。


网站标题:SQLSERVER数据库的锁
转载来于:http://bjjierui.cn/article/chcsoj.html

其他资讯