mysql中的读写锁

读锁

注意:Session2在session1释放读锁的时候任然可以为该表加读锁(不可加写锁)

写锁

innodb和mysaim的区别
1.mysaim引擎用的是表锁,表锁的一些状态查询:

show status like 'table_lock%'

说明:

Table_locks_immediate:表示可以立即获取锁的查询次数,每获取一次锁就增加1
Table_locks_waited:锁等待的次数
2.innodb引擎用的是行级锁,支持事务,开销大,加锁慢,会出现死锁,但是因为锁 的粒度小,所以并发情况下产生锁等待的概率就比较小,支持的并发度高。

mysql> show status like 'innodb_row_lock%'

说明:
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工具可以检查死锁

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

相关阅读更多精彩内容

友情链接更多精彩内容