一. MySQL事务及ACID特性详解
二. MySQL事务隔离级别案例分析与锁机制详解
三. 行锁分析与系统库锁相关数据表
四. 锁优化
数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。
这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制,用一整套机制来解决多事务并发问题。接下来总结出个人的理解,不对之处,望指出,感激不尽
一. MySQL事务及ACID特性与隔离级别
1. 事务及其ACID属性
事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性
- 原子性(Atomicity) : 事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行
- 一致性(Consistent) : 在事务开始和完成时,数据都必须保