MySQL 知识 -- 并发控制 ⚡并发控制 悲观并发控制 乐观并发控制 MVCC (Multi-Version Concurrency Control) 多版本并发控制(Multi-Version Concurrency Control, MVCC)是 MySQL 的 InnoDB 存储引擎实现隔离级别的一种具体方式,用于实现提交读和可重复读这两种隔离级别。而未提交读隔离级别总是读取最新的数据行,无需使用 MVCC。 2020-12-23
MySQL 知识 -- 数据库事务特性 ⚡事务的特性 A(Atomic) 原子性 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节 事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样 C(Consistency) 一致性 指事务将数据库从一种状态转变为另一种一致的的状态 事务开始前和结束后,数据库的完整性约束没有被破坏 这个特性可能最难理解,其实一致性的C是目标,AID 是手段来保证一 2020-12-23 MySQL
MySQL 知识 -- 锁 ⚡MySQL 锁 MySQL中有着Lock和Latch的概念,在数据库中,这两者都可以被称为“锁”,但是两者有着截然不同的含义。 Latch一般称为闩锁(轻量级的锁),因为其要求锁定的时间必须非常短。若持续的时间长,则应用的性能会非常差,在InnoDB引擎中,Latch又可以分为 mutex(互斥量)和rwlock(读写锁)。其目的是用来保证并发线程操作临界资源的正确性,并且通常没有死锁检测的 2020-12-23 MySQL
MySQL 知识 -- 事物隔离级别以及会导致的问题 ⚡事物的隔离级别 读未提交 (Read Uncommitted) 读到未提交的事务的数据,造成脏读的问题 读已提交 (Read committed) 读到已提交事务的数据,但是如果这个事务内多次读的话,会造成读到的数据不一致的情况,造成不可重复读的问题 重复读 (Repeatable read) 读不到已提交事务的数据,但是会出现数据不一致的情况 串行化 (Serializable 2020-12-23 MySQL