mysql自增值保存的位置

发布日期:2023-05-26 浏览次数:5

在我们使用mysql时,会遇到自增主键。那么不同的引擎有着不一样的自增值保存策略,对于自增值保存的位置,我们分为两种情形讨论。

1、MyISAM引擎的自增值存储在数据文件中。

2、InnoDB引擎的自增值,在MySQL5.7和之前的版本中,自增值保存在内存中,不会持久。

每一次重新启动,第一次打开表格时,都会找到自增值max(id),然后把max(id)+步长作为当前的自增值。

select max(ai_col) from table_name for update;

在MySQL较高版本中,自增值的变化记录在redolog中,重启时依靠redolog恢复重启前的值。

如果您有什么问题,欢迎咨询技术员 在线沟通