关于Mysql中Innodb与Myiasm自增主键的计数问题

假设:

innodb的自增主键的计数是保存在内存中,myiasm则是保存于硬盘中

验证:

下面两张表,第一张t_ask是innodb引擎的,第二张是myisam的
关于Mysql中Innodb与Myiasm自增主键的计数问题_第1张图片关于Mysql中Innodb与Myiasm自增主键的计数问题_第2张图片这时按照mysql自增的规律,插入一条新数据,id会叠加,新的id在t_ask是8,t_mysam_test_table中是9
现在我们分别删除两张表的最后一条数据,然后停止mysql,然后再启动,再分别插入一条新数据

下面我们分别在两张表上删除最后一条数据
在这里插入图片描述关于Mysql中Innodb与Myiasm自增主键的计数问题_第3张图片然后重启下mysql
关于Mysql中Innodb与Myiasm自增主键的计数问题_第4张图片

关于Mysql中Innodb与Myiasm自增主键的计数问题_第5张图片
下面我们分别在两张表上插入一行新的数据
关于Mysql中Innodb与Myiasm自增主键的计数问题_第6张图片

关于Mysql中Innodb与Myiasm自增主键的计数问题_第7张图片从上面我们可以看到,新的一行数据 innodb的id是7,而myisam是9,按照正常的思路,不重启mysql的话,新一行数据 innodb的id应该是8,而myisam依然是9,可以看到innodb的id计数重新算了
从上面的实验我们可以得到结果,我们的假设:innodb的自增主键的计数是保存在内存中,myiasm则是保存于硬盘中 是成立的

你可能感兴趣的:(innodb,mysql,myiasm,mysql,innodb,myisam,索引,主键)