• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    浅析Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁

    锁有两种分类方法。
    (1) 从数据库系统的角度来看
    锁分为以下三种类型:

    •独占锁(Exclusive Lock)
    独占锁锁定的资源只允许进行锁定操作的程序使用,其它任何对它的操作均不会被接受。执行数据更新命令,即INSERT、 UPDATE 或DELETE 命令时,SQL Server 会自动使用独占锁。但当对象上有其它锁存在时,无法对其加独占锁。独占锁一直到事务结束才能被释放。

    •共享锁(Shared Lock)
    共享锁锁定的资源可以被其它用户读取,但其它用户不能修改它。在SELECT 命令执行时,SQL Server 通常会对对象进行共享锁锁定。通常加共享锁的数据页被读取完毕后,共享锁就会立即被释放。

    •更新锁(Update Lock)
    更新锁是为了防止死锁而设立的。当SQL Server 准备更新数据时,它首先对数据对象作更新锁锁定,这样数据将不能被修改,但可以读取。等到SQL Server 确定要进行更新数据操作时,它会自动将更新锁换为独占锁。但当对象上有其它锁存在时,无法对其作更新锁锁定。

    (2)从程序员的角度看
    锁分为以下两种类型:

    •乐观锁(Optimistic Lock)
    乐观锁假定在处理数据时,不需要在应用程序的代码中做任何事情就可以直接在记录上加锁、即完全依靠数据库来管理锁的工作。一般情况下,当执行事务处理时SQL Server会自动对事务处理范围内更新到的表做锁定。

    •悲观锁(Pessimistic Lock)
    悲观锁对数据库系统的自动管理不感冒,需要程序员直接管理数据或对象上的加锁处理,并负责获取、共享和放弃正在使用的数据上的任何锁。

    您可能感兴趣的文章:
    • mysql 悲观锁与乐观锁的理解及应用分析
    • Mysql悲观锁和乐观锁的使用示例
    • thinkPHP框架乐观锁和悲观锁实例分析
    • SpringBoot整合MyBatis实现乐观锁和悲观锁的示例
    • 基于Django的乐观锁与悲观锁解决订单并发问题详解
    • 实例讲解MySQL中乐观锁和悲观锁
    • Hibernate悲观锁和乐观锁实例详解
    • Java并发问题之乐观锁与悲观锁
    • Hibernate实现悲观锁和乐观锁代码介绍
    • Java中数据库常用的两把锁之乐观锁和悲观锁
    上一篇:深入解析MS-SQL锁机制
    下一篇:浅析SQL存储过程和事务处理
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    浅析Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁 浅析,Sql,server,锁,独占,共享,