码迷,mamicode.com
首页 > 数据库 > 详细

InnoDB和MyISAM 主键生成策略的区别

时间:2018-01-31 11:32:32      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:存储   种类   记录   重启   最大的   除了   种类型   两种   innodb   

问:如果有一张表,里面有个字段为id的自增主键,当已经向表里面插入了10条数据之后,删除了id为8,9,10的数据,再把mysql重启,

之后再插入一条数据,那么这条数据的id值应该是多少,是8,还是11? 
答:如果表的类型为MyISAM,那么是11。如果表的类型为InnoDB,则id为8。 
这是因为两种类型的存储引擎所存储的最大ID记录的方式不同,MyISAM表将最大的ID记录到了数据文件里,重启mysql自增主键的最大ID值也不会丢失; 
而InnoDB则是把最大的ID值记录到了内存中,所以重启mysql或者对表进行了OPTIMIZE操作后,最大ID值将会丢失。 

InnoDB和MyISAM 主键生成策略的区别

标签:存储   种类   记录   重启   最大的   除了   种类型   两种   innodb   

原文地址:https://www.cnblogs.com/coderMark/p/8390644.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!