MySQL undo日志

20 undo日志
事务的回滚需求

事务需要保证原子性,如果事务的执行过程,服务器发生了错误,就需要将事务进行回滚(对部分语句进行回滚,对整个事务进行回滚)。
InnoDB把为了回滚而记录的东西称为undo日志,对数据库进行改动(insert、delete、update)操作时,就需要进行记录,不同的操作类型产生的undo日志的格式是不一样的。
插入操作,记录主键值回滚时只需要根据主键值将相应的记录删除删除操作,把记录的内容记录,回滚时把删除前记录的内容重新插入

事务Id
分配Id的时机

读写事务,只有在它第一次对某个表执行改动操作时,才分配事务Id只读事务,只能对临时表进行改动操作如果不为事务分配Id,则事务Id为默认值0。

事务Id的生成

事务Id与隐藏列row_id的分配策略类似,MySQL会维护一个全局变量,为事务分配Id后,就自增1,当它的值为256的倍数

MySQL undo日志最先出现在Python成神之路

版权声明:
作者:Alex
链接:https://www.techfm.club/p/17619.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>