Sql Server锁的粒度
类别:数据库 浏览量:449
时间:2015-1-26 Sql Server锁的粒度
Sql Server锁的粒度锁的粒度就是指锁的生效范围,就是说是行锁,还是页锁,还是整表锁. 锁的粒度同样既可以由数据库自动管理,也可以通过手工指定hint来管理。
为描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求
一、页锁实例
T1: select * from table (paglock)
T2: update table set column1='hello' where id>10
说明
T1执行时,会先对第一页加锁,读完第一页后,释放锁,再对第二页加锁,依此类推。假设前10行记录恰好是一页(当然,一般不可能一页只有10行记录),那么T1执行到第一页查询时,并不会阻塞T2的更新。
二、行锁实例
T1: select * from table (rowlock)
T2: update table set column1='hello' where id=10
说明
T1执行时,对每行加共享锁,读取,然后释放,再对下一行加锁;T2执行时,会对id=10的那一行试图加锁,只要该行没有被T1加上行锁,T2就可以顺利执行update操作。
三、整表锁实例
T1: select * from table (tablock)
T2: update table set column1='hello' where id = 10
说明
T1执行,对整个表加共享锁. T1必须完全查询完,T2才可以允许加锁,并开始更新。
以上3例是手工指定锁的粒度,也可以通过设定事物隔离级别,让数据库自动设置锁的粒度。不同的事物隔离级别,数据库会有不同的加锁策略。
标签:Sql Server
您可能感兴趣
- sqlservercount函数的用法(SQL Server中row_number函数的常见用法示例详解)
- SQL Server变量
- sqlserver 插入数据的触发器(SQL server 表数据改变触发发送邮件的方法)
- sqlserver表值函数用法(SQL Server数据库中的表名称、字段比较)
- sql server 实例功能(SQL Server简单查询示例汇总)
- sqlserver数据库基本操作(SQL Server四个系统表的知识讲解)
- sqlserver字段说明(详解SQL Server 中 JSON_MODIFY 的使用)
- SQL SERVER中@@TRANCOUNT
- sql server2019无法连接到服务器(SQL Server常见问题及解决方法分享)
- zabbix监控sql server集群(zabbix 监控mysql的方法)
- sql server提供的聚合函数(SQLServer行列互转实现思路聚合函数)
- sql server事件跟踪器中常用的跟踪事件
- sql server中策略管理
- sql server2008如何升级到2012(MS sqlserver 2008数据库转换成2000版本的方法)
- sql设计数据库过程文字详述(Sql Server 数据库中调用dll文件的过程)
- SQL Server中查询CPU占用高的SQL语句
- 车友的选择| 轮毂该如何选(车友的选择轮毂该如何选)
- 秦海璐炫耀和王新军热恋蜜事,不料对方吐槽她吃饱后肚子撅老高(秦海璐炫耀和王新军热恋蜜事)
- 秦海璐一袭旗袍惹人倾心,将高级与淡雅展现的游刃有余(秦海璐一袭旗袍惹人倾心)
- 门外之见 海蛎子味 的表演,能走多远(门外之见海蛎子味)
- 三部冷门谍战剧,第一部2014年拍摄,至今还未播出(三部冷门谍战剧)
- 《金陵秘事》的剧情跌宕起伏 给观众带来的怎样的感官体验(金陵秘事的剧情跌宕起伏)
热门推荐
- sql except用法
- thinkphp中view视图的作用(Thinkphp5.0框架视图view的模板布局用法分析)
- DIV+CSS网页布局时常犯的几个错误
- react新手指引页面编写(React+TypeScript进行项目构建案例讲解)
- SqlServer 表单查询问题及解决方法(SqlServer 表单查询问题及解决方法)
- python开启线程池(对python:threading.Thread类的使用方法详解)
- mysql数据库与表的基本操作总结(Mysql、Oracle中常用的多表修改语句总结)
- sql server 2016配置管理(SQL Server 2016 配置 SA 登录教程)
- mysql索引b+树和b树(MySQL使用B+Tree当索引的优势有哪些)
- linux nginx搭建(Ubuntu使用nginx搭建webdav文件服务器的详细过程)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9