我要设计个人员管理系统,用自增列做主键,但是当删除一列后序列就不连续了。
我这里想知道使用自增列做主键的好处和坏处?还有为什么使用自增?还有使用什么做主键好(分情况说明?嘿嘿~~)?谢谢啦~~
自增能保证永不重复,这是主键要求的天然属性。
不明白你为什么要主键连续……
自增做主键的坏处目前没有发现,但如果是分布式储存的话,有可能会出现冲突。
为了避免上述情况出现,在分布式存储时,可以使用GUID做主键——带来的副作用是性能下降,因为生成一个GUID肯定没生成一个自增长的ID快
你说的自增不连续是什么意思?数据库的自增原则来说依据你设定的自增偏移量来进行自增的,你说的不连续是说删除一些数据后这个自增Id就出现了不连续是吗?这是自增本身就是这样子的,不会说是当你删除一个ID值后下一次插入会去填充删除的这个ID的,是不会这样子的。他只会从上次添加的ID处加上偏移量做为下一次的ID值得。
你说的极端情况是会出现的,不过目前int字段取值范围是+-2的32次方减1,也就是有+-21亿多,一般的系统应该都会够用了吧!