luxuze.github.io

github pages

View on GitHub

innodb 事务

ACID 特性

  1. Atomicity:原子性 - 事务被视为不可分割的最小单元,事务的所有操作要么全部成功,要么全部失败回滚。
  2. Consistency:一致性 - 数据库在事务执行前后都保持一致性状态,在一致性状态下,所有事务对一个数据的读取结果都是相同的。
  3. Isolation:隔离性 - 一个事务所做的修改在最终提交以前,对其他事务是不可见的。
  4. Durability:持久性 - 一旦事务提交,则其所做的修改将会永远保存到数据库中。即使系统发生崩溃,事务执行的结果也不能丢。

事务的四种隔离级别

在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。我们的数据库锁,也是为了构建这些隔离级别存在的

隔离级别 脏读 Dirty Read 不可重复读 NonRepeatable Read 幻读 Phantom Read
未提交读 Read uncommitted 可能 可能 可能
已提交读 Read committed 不可能 可能 可能
可重复读 Repeatable read 不可能 不可能 可能
可串行化 Serializable 不可能 不可能 不可能

MySQL 中锁的种类

脏读和幻读