事务4个特性
A:原子性
C:一致性
I:隔离性
D:持久性
隔离级别:
读未提交: 会出现 脏读,幻读,不可重复读
读提交: 幻读:不重复读
可重复读: 不可重复读
序列化: 序列化执行,性能较差
Mysql 默认隔离级别是: 可重复读, 但是互联网项目的的数据库隔离级别,建议设置成如提交, 提高数据的性能
oracel , sqlserver 的默认隔离级别是,读提交.
乐观锁: 使用的CAS的方式 + 时间戳版本号 ,使用读多写少的情况.
悲观锁: select * from table for update + 索引 实现锁行,在某些特殊要求正确性,一致性的场景,需要锁行, 比如资金处理等
数据库的7大事务传播属性:
MVVC: 原理, 类似的乐观锁原理..