MySQL-基本概念


一、Mysql逻辑架构

    引用自《高性能Mysql》

    image

二、并发控制

  • 读写锁:读锁是共享的,写锁是排他的,会阻塞其他的写锁和读锁。
  • 锁粒度:表锁、行级锁

三、事务

  • 事务(ACID特性):原子性、一致性、隔离性、持久性
  • 隔离级别

    image

    Read uncommitted未提交读

        事务中的修改,即使没有提交,其他事务也是可见的。

        事务读取未提交的数据叫脏读

    Read committed提交读

        事务只能看到其他事务已经提交的修改。

        这个事务在其他事务提交前后的查询结果可能不一致叫不可重复读

    Repeatable read可重复读-Mysql默认级别

        保证同一个事务多次读取的数据一致。

        当某个事物读取某个范围的记录时,另一个事务往这个返回又插入了一条记录,当之前那个事务再次读取时,会产生幻读

    Serializable可串行化

        强制事务串行执行。

  • 多个事务同事锁定一个资源时,会导致死锁。

    死锁后可以部分或全部回滚其中一个事务来打破死锁,应用程序在设计时可以考虑重新执行回滚的事务。

  • 事务日志

    数据的修改记录到事务日志并持久化,但数据本身还没写会磁盘时,系统崩溃,存储引擎重启时可以恢复这部分数据。

原文地址:https://www.cnblogs.com/bigshark/p/7912184.html