数据库共享锁与排它锁

转载 2012年12月10日 21:38:37
共享锁:如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。
排他锁:如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的封锁。获准排他锁的事务既能读数据,又能修改数据。
简要说明为什么会发生死锁?解决死锁的主要方法是什么?
若干事务相互等待释放封锁,就陷入无限期等待状态,系统就进入死锁
解决死锁的方法应从预防和解除的两个方面着手:
(1)死锁的预防方法:①要求每一个事务必须一次封锁所要使用的全部数据(要么全成功,要么全不成功)②规定封锁数据的顺序,所有事务必须按这个顺序实行封锁。
(2)允许死锁发生,然后解除它,如果发现死锁,则将其中一个代价较小的事物撤消
,回滚这个事务,并释放此事务持有的封锁,使其他事务继续运行。

共享锁是表级的,排它锁可以是行级的也可以是表级的。

数据库锁机制

1 前言 数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T...
  • samjustin1
  • samjustin1
  • 2016年08月15日 12:38
  • 22761

数据库排它锁共享锁死锁行级锁表级锁

1)排它锁 新建两个连接 在第一个连接中执行以下语句 begin tran update table1 set A='aa' where B='b2' waitfor delay '00...
  • dianzijinglin
  • dianzijinglin
  • 2016年08月19日 16:54
  • 842

数据库:Mysql中“select ... for update”排他锁分析

Mysql InnoDB 排他锁用法: select … for update;例如:select * from goods where id = 20018 for update;排他锁的申请前提:...
  • claram
  • claram
  • 2017年01月04日 19:38
  • 9352

MySQL中的锁(表锁、行锁,共享锁,排它锁,间隙锁)

本文参考: http://mysqlpub.com/thread-5383-1-1.html http://blog.csdn.net/c466254931/article/details/534...
  • soonfly
  • soonfly
  • 2017年04月20日 10:54
  • 5932

数据库中的事务和锁(乐观、悲观锁,共享、排他锁,死锁)

并发控制: 事务和锁的存在都是为了更好的解决并发访问造成的数据不一致性的的问题 乐观锁和悲观锁都是为了解决并发控制问题, 乐观锁可以认为是一种在最后提交的时候检测冲突的手段,而悲观锁则是一种避免冲突...
  • woshiluoye9
  • woshiluoye9
  • 2017年04月02日 22:22
  • 1768

MySQL中的共享锁与排他锁

在MySQL中的行级锁,表级锁,页级锁中介绍过,行级锁是Mysql中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突。行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁及排他锁的概念、使用方式及...
  • zhangwj0101
  • zhangwj0101
  • 2016年03月21日 13:58
  • 1715

互斥锁,共享锁,自旋锁 等

 互斥锁(排它锁、独占锁、写锁、X锁)和共享锁(读锁、S锁) 自旋锁               共享锁(S锁):如果事务T对数据A加上共享锁后,则其他事务只能...
  • lisaem
  • lisaem
  • 2015年06月01日 14:58
  • 2268

MySQL中的读锁和写锁

在数据库的锁机制中介绍过,数据的锁主要用来保证数据的一致性的,数据库的锁从锁定的粒度上可以分为表级锁、行级锁和页级锁。在我的博客中重点介绍过MySQL数据库的行级锁。这篇文章主要来介绍一下MySQL数...
  • u013063153
  • u013063153
  • 2016年12月02日 10:50
  • 6585

分布式锁方式(一、基于数据库的分布式锁)

写在前面: 分布式部署,分布式锁。每个人都有自己的理解和认识,网上查阅了很多资料,整理一份比较全的关于分布式锁相关的资料,本文非原创只是不同文章的整理和理解,文章最后我会把资料来源摘出。 ------...
  • tianjiabin123
  • tianjiabin123
  • 2017年05月22日 11:52
  • 1660

mysql中的共享锁与排他锁

原文出处:MySQL中的共享锁与排他锁 在 MySQL中的行级锁,表级锁,页级锁中介绍过,行级锁是Mysql中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突。行级锁分为共享锁...
  • qq_32862391
  • qq_32862391
  • 2017年02月16日 17:08
  • 976
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库共享锁与排它锁
举报原因:
原因补充:

(最多只允许输入30个字)