Mysql 锁机制
Posted 1161588342
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
页锁
以上是关于Mysql 锁机制的主要内容,如果未能解决你的问题,请参考以下文章