数据库——大事务
回顾几个定义:
原子性:事务要么执行成功,要么执行失败,对于一个事务来说不可能只执行其中的一部分。
一致性:一致性是指事务从一种一致性状态转换成另一种一致性状态,保证数据的完整性没有被破坏。
隔离性:一个事务对数据库中数据的修改,在未提交前对于其他事务不可见
未提交读:脏读
读提交:不可重复读
可重复读:幻读
串行化:
持久性:即使系统崩溃,已提交的修改的数据也不会丢失
大事务是什么?
大事务是指运行时间比较长,操作的数据比较多的事务。
大事务有什么风险?
1)这样如果同时执行较多的大事务,比如定时计算客户的理财收入,这样锁定太多的数据,会造成大量的阻塞和锁超时。
2)回滚时所需时间较长。
3)执行时间长,容易造成主从延迟。
如何避免大事务?
1)避免一次处理太多数据
2)移除事务中不必要的select操作