常见锁

https://www.cnblogs.com/boblogsbo/p/5602122.html
mysql锁机制
①表级锁

②行级锁
共享锁(读锁):简称S锁,
多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改
排他锁(写锁):简称X锁,
排他锁就是不能与其他所并存,如一个事务获取了一个数据行的排他锁,
其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取
排他锁的事务是可以对数据就行读取和修改。

mysql InnoDB引擎默认的修改数据语句,update,delete,insert都会自动给涉及到的数据加上排他锁,
select语句默认不会加任何锁类型,
如果加排他锁可以使用select ...for update语句,加共享锁可以使用select ... lock in share mode语句

所以加过排他锁的数据行在其他事务种是不能修改数据的,也不能通过for update和lock in share mode锁的方式查询数据,
但可以直接通过select ...from...查询数据,因为普通查询没有任何锁机制。

乐观锁
悲观锁:共享锁、排他锁

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文主要涉及以下几个个部分: 1. 为什么要加锁 2. 锁的分类 3. 常见语句的加锁分析 4. 如何分析死锁 5...
    多彩海洋阅读 6,309评论 2 3
  • 最近碰到几个业务场景,会遇到并发的问题。在单实例情况下,我们会通过java.util.concurrent包...
    菜鸟小玄阅读 2,277评论 0 5
  • 1. mysql锁知多少 我们进行insert,update,delete,select会加锁吗,如果加锁,加锁步...
    liwsh阅读 5,051评论 0 4
  • 引言 数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问变得有序所设计的一种规则;对...
    高级java架构师阅读 735评论 0 1
  • 我只想躲在门帘背面 偷偷摸一下阳光的温度 不想去直接触碰 那炽热的情感 我只想躲在无人看到的角落 偷偷拾起一片片伤...
    一颗桑葚阅读 383评论 0 8