美文网首页
mysql-行锁理论

mysql-行锁理论

作者: 卫泽洪_70a7 | 来源:发表于2021-06-08 13:16 被阅读0次

    特点

    • 偏向InnoDB存储引擎,开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
    • InnoDB与MyISAM的最大不同有两点:
      一是支持事务(TRANSACTION);
      二是采用了行级锁

    由于行锁支持事务,老知识复习

    • 事务(Transaction)及其ACID属性
      事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性。
      1、原子性(Atomicity): 事务时一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。
      2、一致性(Consistent): 在事务开始和完成时,数据都必须保持一致状态。这意味着所有相关的数据规则都必须应用于事务的修改,以保证数据的完整性;事务结束时,所有的内部数据结构(例如B树索引或双向链表)也都必须时正确的。
      3、隔离性(Isolation): 数据库系统提供一定的隔离机制,保证事务在不受外部并发操作影响的“独立”环境。这意味着事务处理过程中的中间状态对外部时不可见的,反之亦然。
      4、持久性(Duration):事务完成之后,它对于数据的修改都是永久性的,即使出现系统故障也能够保持。

    • 并发事务处理带来的问题
      1、更新丢失(Lost Update)


      image.png

      2、脏读(Dirty Reads)


      image.png

    3、不可重复读(Non-Repeatable Reads)


    image.png

    4、幻读(Phantom Reads)


    image.png
    • 事务隔离级别(mysql的事务隔离级别时可重读)


      image.png

    查看当前数据库的事务隔离级别

    show 
    
    image.png

    相关文章

      网友评论

          本文标题:mysql-行锁理论

          本文链接:https://www.haomeiwen.com/subject/seyysltx.html