1. 事务的 ACID 特性,隔离级别
ACID 特性:原子性、一致性、隔离性、持久性
隔离级别:read uncommitted,read commited,repeatable-read,serializable
read uncommitter -- 读未提交级别,事务的修改,即使没有修改,对其他事务也是可见的,其他事务可以读取到未提交的数据,这种情况称为脏读
read commiter -- 读已提交级别,事务读取已提交的数据,当一个事务执行过程中,数据被其他事务修改,造成本次事务前后读取的数据不一致,这种情况称为不可重复读
repeatable-reda -- 可重复读级别,mysql 的默认隔离级别,解决了脏读和不可重复读的问题,但是会有幻读问题(幻读:查询某记录不存在,准备插入,插入是报记录已存在)
serializable -- 序列化,最高隔离级别,完全服从 ACID 的隔离级别,所有的事务依次逐个执行,完全不可能干扰,该级别可防止脏读,不可重复读和幻读