采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
一般在系统中需要保证表的主键连续性,在新增数据的时候,即使是新增失败了,也会让主键自增1,这样主键就不会连续了。看了网上的解决方案实在新增之前让主键从1开始重排,但是这样耗时太长,所以就觉得需要新增一个外键的字段,老师觉得这个方法怎么样?
你好,我并不是很建议这样做,主键不连续大部分情况下没有什么影响,在我看来主键是否连续并不是一件很重要的事情,在这上面折腾就显得很没有必要了。如果需要对外展示,需要额外生成一个展示的串,如果使用主键展示的话,其实是可以让操作者猜出数据库大致存储的数据量的,而如果不做存储,是否连续意义就不大了。
其实不是为了页面显示,而是在数据历史数据清理之后依然能够保证数据完整性的想法,比如现在2018年了,我希望把一年前或者一季度前的数据都转成额外的表进行存储,这样来处理数据量大引起的慢查询问题,但是又有需要关联外面表信息,所以关联的外键还是不做变动的好些,这样一来,数据表中就有两个字段了,不知道老师你们遇到这样的问题是怎么处理的呢
我们现在基本不会使用外键,只是通过id保证关联即可,如果需要做数据清理,你遍历已有id去处理就好了,而不需要保证id的连续性。本质上,id的连续性并没有什么实际的含义
登录后可查看更多问答,登录/注册
源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术
2.4k 6
2.1k 22
1.4k 20
1.3k 20
1.1k 18