千家信息网

mysql中undo log指的是什么

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,小编给大家分享一下mysql中undo log指的是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、undo log是为了实现事务的原子性。在mysql数据库的innodb存储
千家信息网最后更新 2025年02月04日mysql中undo log指的是什么

小编给大家分享一下mysql中undo log指的是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1、undo log是为了实现事务的原子性。在mysql数据库的innodb存储引擎中,undolog实现多版本并发控制。

2、在操作任何数据之前,首先将数据备份到一个地方,存储数据备份的地方称为undo log。

实例

//每次purge操作需要清理的undo page数量mysql> show variables like 'innodb_purge_batch_size';+-------------------------+-------+| Variable_name           | Value |+-------------------------+-------+| innodb_purge_batch_size | 300   |+-------------------------+-------+ //用来控制history list的长度,若长度大于该参数时,其会"延缓"DML的操作。该参数默认值为0,表示不对history list做任何限制。mysql> show variables like 'innodb_max_purge_lag';+----------------------+-------+| Variable_name        | Value |+----------------------+-------+| innodb_max_purge_lag | 0     |+----------------------+-------+ //当innodb_max_purge_lag 大于0时,就会延缓DML的操作,其延缓的算法为:delay=((length(history_list)-innodb_max_purge_lag)*10)-5//来控制delay的最大毫秒数。也就是当上述计算得到的delay值大于该参数时,将delay设置为innodb_max_purge_lag_delay,避免由于purge操作缓慢导致其他SQL线程出现无限制的等待。mysql> show variables like 'innodb_max_purge_lag_delay';+----------------------------+-------+| Variable_name              | Value |+----------------------------+-------+| innodb_max_purge_lag_delay | 0     |+----------------------------+-------+

看完了这篇文章,相信你对"mysql中undo log指的是什么"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

0