注意:Session2在session1释放读锁的时候任然可以为该表加读锁(不可加写锁)
写锁innodb和mysaim的区别
1.mysaim引擎用的是表锁,表锁的一些状态查询:
说明:
Table_locks_immediate:表示可以立即获取锁的查询次数,每获取一次锁就增加1
Table_locks_waited:锁等待的次数
2.innodb引擎用的是行级锁,支持事务,开销大,加锁慢,会出现死锁,但是因为锁 的粒度小,所以并发情况下产生锁等待的概率就比较小,支持的并发度高。
说明:
Innodb_row_lock_current_waits :当前正在等待的数量
Innodb_row_lock_time: 从启动到现在锁定的总时长,单位是ms
Innodb_row_lock_time_avg :锁等待的平均时长
Innodb_row_lock_time_max:等待锁时间最长的一个时间
Innodb_row_lock_waits:总共的等待次数
mysql提供了mysqlslap工具可以检查死锁
网友评论