mysql锁

读写锁,innodb可以加在表也可以加在行;

select * from 表名 for share加共享锁;select * from 表名 for update加排他锁;共享锁可以同时多个事务加,但是共享锁和排他锁不能一起加,先加共享,另一个加排他的话,排他会等待;

一个排他锁,加另一个排他锁会等待;一个排他锁,另一个加共享锁也会等待;

总结,排他锁只能加一个,另一个无论是排他还是共享都要阻塞;共享锁加一个,另外的加共享锁可以,排他锁的话需要阻塞;

表锁:lock tables t read 给表加共享锁;lock tables t write 给表加排他锁

image.png

image.png
image.png

image.png
image.png

image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. MySQL锁概述 MyISAM 和 MEMORY 存储引擎采用的是表级锁(table-level locki...
    安静点就睡吧阅读 1,618评论 0 1
  • 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争...
    薛延祥阅读 1,501评论 0 0
  • 1 MySQL的三种锁 1.1 表锁 开销小,加锁快 不会出现死锁 锁定粒度大,发生锁冲突的概率最高,并发度最低 ...
    JavaEdge阅读 3,931评论 0 1
  • 一、概述 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种...
    忘忧谷主阅读 3,693评论 0 3
  • 当一个系统访问量上来的时候,不只是数据库性能瓶颈问题了,数据库数据安全也会浮现,这时候合理使用数据库锁机制就显得异...
    初来的雨天阅读 8,947评论 0 22