MySQL系列-innoDB行锁详解

一直都很想讨论一下innoDB的行锁,但是看到了何登成大神的博客之后发现他的研究更深入说的更好,是一篇非常优秀的博客,但是需要对索引有比较深入的了解,因此看他的博客之前可以先看看我的一篇关于索引的文章MySQL系列-B+Tree索引详解

同时也深感数据库易学难精,一条SQL下去可能发生了很多你不知道的细节,要想学的很透彻靠博客和书籍是不够的,还是得直接阅读源码,这是一个非常漫长的路。

下面是大神的博客地址© 2012-2017 何登成的技术博客 MySQL 加锁处理分析

下面我补充一点MySQL/innoDB对死锁的处理,参考高性能MySQL

发生死锁后innoDB一都能自动检测,并使一个事务释放锁并回退,另一个事务获得锁继续完成事务。对于不能检测到的情况也可以设置超时等待参数innodb_lock_wait_timeout来解决。通常来说死锁是应用设计问题,通过调整业务流程、数据库对象设计、事务大小、以及SQL语句,绝大部分死锁都可以避免。


猜你喜欢

转载自blog.csdn.net/ufo___/article/details/80877533