事务:InnoDB下,一组特定SQL语句的集合
A:原子性 要么全部执行,要么全部失败
C:一致性 事务执行前后,完整性约束不变
I:隔离性 事务之间的相互影响
D: 持久性 事务执行的结果在磁盘上永久保存
阐述:先从隔离性说起
并行的情况下:当没有隔离性的时候,A事务执行过程中假设delete执行错误,那么会发生事务回滚,工资又变成了5000,B之前拿到的8000就相当于一个错误的数据,这个过程叫脏读
B事务执行时读取不到A执行过程中结果,只能在A执行之前的读取磁盘的结果
不可重复读:B事务执行过程中读取到了A事务不同阶段的结果(update 修改不会让原有数据个数增加或者减少)
查询5000的人数
幻读:B事务执行过程中读到了A事务不同阶段的结果(delete/insert数据增多)
2.隔离级别:
未提交读:脏读,不可重复读,幻读
已提交读:不可重复读,幻读(sqlserver)
可重复读:幻读(mysql)
可序列化:不是并行