Mysql 锁机制

表锁 Myisam引擎(表级)

读锁定时,不能写, 写锁定A表时,其他session不能读和写A表

  读锁session-1 只能查A表,不能查其他B表

              session-2 写阻塞,能查询所有表

  写锁session-1 能改A表, 不能查其他表

    session-2 不能查A表,更加不能写操作.

lock tables 表名 read|write; 

unlock 表名

 

行锁 InnerDB引擎(行级)

     无索引引发的表锁

     间隙锁的危害,使用范围检索数据,InnoDB会给符合条件的记录索引枷锁,对于键值范围内但并不存的记录,叫间隙锁

    危害:Query时,范围内的所有索引值被锁, 间隙值行记录会被阻塞

  

 分析行锁

 show status like 'innodb_row_lock%';

**_current_waits:当前正在等待锁定的数量 和

**_time 等待的总时长

**_time_avg 等待平均时长

**_time_max 等待最长的一次所花时间

**_waits: 系统启动后到现在的总共等待次数

 

如何锁定一行?

begin

select * from tables where *** for update;

commit;

 

 

页锁

转载于:https://www.cnblogs.com/eason-d/p/9221831.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值