网站赚钱系统,网页开发用什么软件,学多久可以做网站 知乎,百度智能云建站Undo log
redo log 是事务持久性的保证#xff0c;undo log是事务原子性的保证。在事务中更新数据的前置操作其实是要先写入一个undo log。
如何理解undo 日志#xff1f; 事务需要保证原子性#xff0c;也就是事务中的操作要么全部完成#xff0c;要么什么也不做。但有时…Undo log
redo log 是事务持久性的保证undo log是事务原子性的保证。在事务中更新数据的前置操作其实是要先写入一个undo log。
如何理解undo 日志 事务需要保证原子性也就是事务中的操作要么全部完成要么什么也不做。但有时候事务执行到一半会出现一些情况比如 情况1事务执行过程中可能遇到各种错误比如服务器本身的错误操作系统的错误、甚至是突然断电导致的错误。 情况2程序员可以在事务执行过程中手动输入ROLLBACK语句结束当前事务的执行。 以上情况出现需要把数据改回原来的样子这个过程称之为回滚这样就可以造成一个假象这个事务看起来什么都没做所以符合原子性要求。 undo log会产生redo log,也就是undo log的产生会伴随着redo log的产生这是因为undo log也需要持久性的保护。
Undo日志的作用 作用1回滚数据 作用2 MVCC undo的存储结构 undo页的重用 回滚段中的数据分类 undo的类型 undo log的生命周期 undo log是如何回滚的 undo log的删除 purge线程两个主要作用是清理undo页和清楚page里面带有Delete_Bit标识的数据行。在InnoDB中事务中的Delete操作实际上并不是真正的删除掉数据行而是一种Delete Mark操作在记录上标识Delete_Bit,而不删除记录是一种假删除只是做了一个标记真正的删除工作需要后台purge线程去完成。
小结