mysql知识梳理(2)
- 事务
- 一系列操作要么整体成功要么整体失败
- 四大特性
- 原子性
- 操作原子化
- 一致性
- 各种约束下达到一致性
- 隔离性
- 与其他操作隔离
- 持久性
- 操作可以被记录到硬盘
- 原子性
- 隔离级别 (考虑多线程事务情况)
- read-uncommited(读取未提交)
- 可以读取未提交的数据 会导致 脏读,幻读,不可重复读
- read-commited(读取已提交)
- 读取已提交的数据 会导致不可重复读,
- repeatable-read(可重复读)
- 多次不同线程读取到相同的数据 会导致幻读
- serializable(串行化)
- 完全复合ACID 效率慢
- read-uncommited(读取未提交)
- 并发事务引起的问题(问题 非原理)
- 脏读
- 读取到没用或者不正确的脏数据
- 丢失修改
- A事务操作的修改会被B事务覆盖
- 不可重复读
- 同时操作,事务一分别读取事务二操作时和提交后的数据,读取的记录内容不一致
- 幻读
- 和可重复读类似,但是事务二的数据操作仅仅是插入和删除,不是修改数据,读取的记录数量前后不一致
- 脏读