
1.概述
MySQL的事务满足ACID的特性,所以MySQL得事务就是innodb是如何ACID这样一个特性的。
2. A是原子性
A是原子性,就是多个操作,要么都成功,要么都失败,如果失败的话,那么事务要进行回滚,所以innodb设计了undo_log这个表来处理回滚问题,在事务的执行过程中,把修改之前的数据快照报错到undo_log表中,一旦出现错误,那么就直接从undo_log中读取数据并且恢复。
2.1 undo_log删除数据
这里增加修改数据我们还好理解,假设是删除数据呢?如果我们是删除很多条数据,undo_log表会不会一瞬间增加几千万条?
当执行大规模的数据删除操作时,undo_log表可能会在短时间内迅速增加很多记录,特别是在MySQL InnoDB存储引擎中。这是因为每个删除操作都会生成u