回到目录

对于高并发的场合下,使用UPDLOCK可以有效的控制并发更新的问题,即当一个线程在进行with(UPDLOCK)并进行update时,另一个线程将被阻塞,它会等第一个线程更新结束后,才可以进行它里面的操作,使用UPDLOCK有效的避免了并发更新而产生的数据错误的问题,如累加操作,第二个线程需要等第一个线程累加结束后,才能进行下一步的累加动作,这是我们可以接受的。

测试代码如下

BEGIN TRAN
SELECT  *
FROM    WebManageUsers WITH ( UPDLOCK )
WHERE   LoginName = 'zzl'
WAITFOR DELAY '00:00:10'
UPDATE  WebManageUsers
SET     RealName = 'zzlreal11'
WHERE   LoginName = 'zzl'
COMMIT TRAN

代码运行后,再打开一个SQL客户端,进行下面代码的修改

BEGIN TRAN
SELECT  *
FROM    WebManageUsers WITH ( UPDLOCK )
WHERE   LoginName = 'zzl'
WAITFOR DELAY '00:00:10'
UPDATE  WebManageUsers
SET     RealName = 'zzlreal22'
WHERE   LoginName = 'zzl'
COMMIT TRAN

回到目录

转载于:https://www.cnblogs.com/lori/p/4377779.html

知方可补不足~UPDLOCK更新锁的使用相关推荐

  1. 知方可补不足~开发人员可以自己定义VS文件模版

    团队开发,最重要的是什么? 统一的规范,对于一个团队,在开发项目之前,必须要先告诉大家项目的规范是什么,而开发人员在实际当中再去执行这个规范,对于规范事实上是个很宏观的概念,它可能有很多版本,呵呵,如 ...

  2. 知方可补不足~SQL2008中的发布与订阅模式~续

    上一回介绍了如何在sql2008中建立一个数据库的发布者,今天来说一下如何建立一个订阅者,其实订阅者也是一个数据库,而这个数据库是和发布者的数据结构相同的库,它们之间通过SQL代理进行数据上的同步. ...

  3. 知方可补不足~sqlserver中使用sp_who查看sql的进程

    回到目录 在SQLSERVER中每个会话,即每个查询分析器窗口都会产生一个SQL进程,对于那些持续时间短的进程,它们转瞬即失,而对于持续时间比较长的,我们需要希望查看它的运行状态,就可以借助SQL提供 ...

  4. 知方可补不足~说说吧!timestamp有什么用?

    回到目录 最近开发了一个公安机关的分布式系统,在系统中要求若干个人同时可以对数据库进行读写操作.这时出现了一些联想问题: 1 当多于1人的用户对同一条记录进行写操作时,先写入的用户的数据必定会被后写入 ...

  5. 知方可补不足~SQL中的count命令的一些优化措施(百万以上数据明显)

    回到目录 SQL中对于求表记录总数的有count这个聚合命令,这个命令给我们感觉就是快,比一般的查询要快,但是,当你的数据表记录比较多时,如百万条,千万条时,对于count来说,就不是那么快了,我们需 ...

  6. 知方可补不足~CSS中的几个伪元素

    对于一个很好的编辑器VS来说,它对于编程语句的自动提示功能是很强大的,有时,我们根本不需要看相关API,而直接看VS给我们的提示就可以完成一个新技术的学习了. 今天我们来说几个CSS中的伪元素,它们在 ...

  7. 知方可补不足~数据库名称和数据库别名不同了怎么办

    回到目录 当你的数据库安装成功后,你修改了计算机名称,这时,你的sqlserver名称与别名可能就不相同了,当这两个名称不相同时,你再使用sql的发布与订阅功能时,将会被提示出错,"请使用服 ...

  8. 知方可补不足~sqlserver中使用ROW_NUMBER进行的快速分页

    回到目录 这个在SQL2005之后最见的一种分页方式,也是Linq默认生成的执行分页的方法(skip,take),当然在性能上小数量没有问题,在数据达到百万时会很慢,这是我们要清楚的,有时我们在LIN ...

  9. 知方可补不足~用xsl来修饰xml

    概念相关 XSL是可扩展样式表语言的外语缩写,是一种用于以可读格式呈现 XML(标准通用标记语言的子集)数据的语言. 起始于 XSL 万维网联盟(W3C)开始发展 XSL 的原因是:存在着对于基于 X ...

最新文章

  1. 牛客寒假6-B.煤气灶
  2. mysql查询总结_mysql查询总结相关
  3. Java读写大文本文件(2GB以上)
  4. fileitem方法_FileItem类的常用方法(关于文件上传的)
  5. Oracle预定义的21个系统异常类型
  6. 宏程序自动生成软件_【软件】宏程序自动生成器V3.0下载
  7. 软raid1 重新同步_软RAID搭建基于linux系统搭建RAID5
  8. 3.6 tensorflow 中LSTM和GRU模块使用意境级讲解
  9. vue router hash和history的区别_react-router-v4
  10. 【太阳辐射预测】基于matlab BP神经网络太阳辐射预测【含Matlab源码 883期】
  11. deepstream-test3
  12. 普通IO口红外线接收(不用外部中断)
  13. PR连接蓝牙后无声音
  14. 无人机开发-介绍Mavlink协议的消息组成、如何看懂繁杂的mavlink官网介绍、简单介绍地面站与飞控的通讯流程
  15. c语言算术运算的作用,C语言算术运算符和算术表达式
  16. Flask项目1(美食地图)
  17. 架构师的5大基本能力
  18. 2017年12月全球数据库排名:SQL Server 跌势明显,刚获阿里投资的MariaDB表现良好
  19. Python项目四:新闻聚合
  20. 无源波分和彩光模块_波分光模块详细介绍

热门文章

  1. Asp.net中Application Session Cookie ViewState Cache
  2. platform_device_add()函数分析
  3. Netty工作笔记0035---Reactor模式图剖析
  4. SpringCloud学习笔记002---Spring Cloud实战微服务准备
  5. 编程范式之rotate操作
  6. visual studio 使用快捷方法2
  7. 发现个特别合胃口的仓鼠、小鱼和计数器代码
  8. 安装Ubuntu 12.04
  9. 从电子电路到嵌入式系统(开篇)
  10. 随想录(移动app下的生活)