MySql加锁过程和MVCC的理解

     推荐几篇博客,关于MySql的加锁和MVCC的理解 

     Mysql加锁过程和MVCC的理解:

              https://blog.csdn.net/u013215018/article/details/71404891

 

      MVCC(Multi-Version Concurrent Control,多版本并发控制)简介

             https://yq.aliyun.com/articles/283418?spm=a2c4e.11153940.0.0.1fe63dc1qquD8z

 

     SQL中的where条件,在数据库中提取与应用浅析,关于MySql中where走索引的执行过程

             http://hedengcheng.com/?p=577

 

   深入理解Mysql——锁、事务与并发控制

             https://blog.csdn.net/lemon89/article/details/51477497

   

    MySQL redo与undo

              https://blog.csdn.net/chast_cn/article/details/50910861

 

     Undo和Redo以及牛逼的MVCC

              https://yq.aliyun.com/articles/53601

 

    4种事务的隔离级别,InnoDB如何巧妙实现?

             https://blog.csdn.net/mr__fang/article/details/82350962

 

   InnoDB并发如此高,原因竟然在这?

 

   MVCC(Multi-Version Concurrent Control,多版本并发控制)简介

   https://yq.aliyun.com/articles/283418?spm=a2c4e.11153940.0.0.1fe63dc1qquD8z

   自己的理解:

        对于快照读,都是走mvvc的,对于innodb的mvvc的实现,需要游redo Log和undo log的协助,所以其和mvvc相关。

        对于带FOR UPDATE的SELECT,会加排他锁,这是就要看锁的竞争。对于行锁,间隙锁等都是对排他锁而言的,所以和mvvc不冲突,之前一直理解错了。

        学习这一块知识的顺序:

          1.数据库的索引(原理和实现)

          2.where走索引的执行过程

          3.数据库隔离级别理解(在看完redo和undo后可以在深入思考)

          4.mvcc

          5.各种锁

你可能感兴趣的:(MySql)