中的锁
Mysql的锁机制比较简单
其最显著的特点是不同的存储引擎支持不同的锁机制
比如:
MyISAM和Memory存储引擎采用的是表级锁(table-level locking)
InnoDB...存储引擎既支持行级锁(row-level locking),也支持表级锁,但是默认情况下采用的是行级锁
表级锁:开销小,加锁快;不会出现死锁,锁定粒度大,发生锁冲突的概率最高,并发度最低....行级锁:开销大,加锁慢,会出现死锁,锁定粒度最小,发生锁冲突的概率最低,并发度也最高.
页面锁:开销和加锁时间介于表锁和行锁之间,会出现死锁,锁定粒度也介于表锁和行锁之间,并发度一般....会报错,而其他的Session会进入等待状态,一直到那个Session释放锁
当表添加读锁后在同一个Session会话中对其他表执行insert or Update会报错,查询其他表也会报错,在另外的Session...对MyISAM表的写操作,当前Session可以对本表做CRUD,但对其他表操作会报错
InnoDB的行锁
在Mysql中的InnoDB存储引擎支持行锁
行锁:
共享锁又称:读锁,当某一个事物对某几行上锁时