共享锁(lock in share mode): 
start transaction;
select * from test where id=1 lock in share mode;

允许其他事务增加共享锁读取,不允许其他事务增加排他锁,当事务同时增加共享锁时候,事务的更新必须等待先执行的事务commit后才行,如果同时并发太大可能很容易造成死锁
共享锁,事务都加,都能读。修改是惟一的,必须等待前一个事务commit,才可进行操作

排它锁(for update):
start transaction;
select * from test where id = 1 for update;

只有当前的事务可以读取数据,其他的事务不能读取也不能执行更新的操作,结果是超时或者等待第一个事务提交后再执行

不允许其它事务增加共享或排他锁读取。修改是惟一的,必须等待前一个事务commit

共享锁和排它锁的区别相关推荐

  1. 共享锁与排它锁区别(转)

    共享锁[S锁] 又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁.这保证了其他事务可以读A,但在T释放A上的S锁之前不 ...

  2. MySQL/InnoDB中,乐观锁、悲观锁、共享锁、排它锁、行锁、表锁、死锁概念的理解

    MySQL/InnoDB的加锁,一直是一个面试中常问的话题.例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?我在工作过程中,也会经常用到,乐观锁,排它锁,等.于是今天就对 ...

  3. Oracle 共享锁和排它锁、 DML和DDL锁、 for update 锁表的问题

    共享锁和排它锁 oracle有两种模式的锁:排他锁(exclusive lock,即X锁)和共享锁(share lock,即S锁). 共享锁:如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享 ...

  4. MySQL/InnoDB中,乐观锁、悲观锁、共享锁、排它锁、行锁、表锁、死锁概念的理解...

    2019独角兽企业重金招聘Python工程师标准>>> MySQL/InnoDB的加锁,一直是一个面试中常问的话题.例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何 ...

  5. 共享锁和排它锁(ReentrantReadWriteLock)

    1.什么是共享锁和排它锁 共享锁就是允许多个线程同时获取一个锁,一个锁可以同时被多个线程拥有. 排它锁,也称作独占锁,一个锁在某一时刻只能被一个线程占有,其它线程必须等待锁被释放之后才可能获取到锁. ...

  6. 聊一聊数据库中的锁分类(乐观锁、悲观锁、共享锁、排它锁、表级锁、行级锁、页面锁)...

    乐观锁和悲观锁(从策略上划分) 乐观锁:乐观锁就如同他的名字一样,非常了乐观,每次去读数据都认为其它事务没有在写数据,总是认为别人不会修改数据,所以就不上锁,只有在线程提交数据时会通过检查版本号的形式 ...

  7. C# 乐观锁、悲观锁、共享锁、排它锁、互斥锁

    悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁.传统的关系型数据 ...

  8. 共享锁和排它锁的用法

    共享锁和排它锁 排它锁,又称为独占锁.独享锁 共享锁,又称为读锁,获得共享锁之后,可以查看但无法修改和删除数据,其他线程此时也可以获取到共享锁,也可以查看,但无法修改和删除数据 共享锁和排它锁的典型是 ...

  9. 共享锁和排它锁---C++17 多线程

    共享锁和排它锁-C++17 多线程 读写锁把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作.C++17开始,标准库提供了shared_mutex类(在这 ...

最新文章

  1. RK3288 GMAC整理
  2. 让人郁闷的“DesktopCompatible”
  3. 使用 SASS Mixin 编写 clean code
  4. python中遇到循环import即circular import的问题原理剖析及解决方案
  5. OJ1001: 植树问题
  6. formidable上传文件时出错EXDEV, rename.....
  7. Node 中用 ESLint 验证代码
  8. rraylist参数_R语言︱list用法、批量读取、写出数据时的用法
  9. Java从入门到精通 第12章 类的封装、继承与多态
  10. sqlalchemy query函数可用参数有哪些?
  11. 详细版【机器学习概述】(邱锡鹏)
  12. 史上最全计算机类编程资料大集合
  13. @order 注解用法
  14. Let X be a finite set f : X → X a function. Prove that f is injective if and only if f is surjective
  15. 2020C证(安全员)考试题及C证(安全员)考试题库
  16. 《算法分析与设计》练习14
  17. 二十八条改善 ASP 性能和外观的技巧
  18. Win11安装OBS Studio的详细步骤图文教程
  19. 相机靶面尺寸和视场角换算
  20. Oracle误删除表空间的恢复

热门文章

  1. 从CarLife音乐切换回蓝牙音乐音量变小
  2. 免费的ipad编辑php软件下载,免费也很香!8 款免费 APP 打造你的学术型 iPad
  3. 2022 IDEA大会引领科技创新趋势 沈向洋团队重磅发布低空经济白皮书
  4. AT指令发送短信流程及接听、拨打电话
  5. POI 单元格垂直居中,相同内容的单元格合并
  6. windows如何使用远程桌面连接电脑
  7. 跨境爬虫:跨境电商可以利用爬虫做什么
  8. 小米投资美的布局智能家居 董明珠呛声:两个骗子
  9. python画出的图_Python 画出来六维图
  10. 回收站没有刚刚删除的文件原因|找回方法|解决方案