请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

业务表里面有自增主键了,还需要设置单独的字段作为外键吗?

一般在系统中需要保证表的主键连续性,在新增数据的时候,即使是新增失败了,也会让主键自增1,这样主键就不会连续了。看了网上的解决方案实在新增之前让主键从1开始重排,但是这样耗时太长,所以就觉得需要新增一个外键的字段,老师觉得这个方法怎么样?

正在回答 回答被采纳积分+3

1回答

Jimin 2018-06-29 08:53:19

你好,我并不是很建议这样做,主键不连续大部分情况下没有什么影响,在我看来主键是否连续并不是一件很重要的事情,在这上面折腾就显得很没有必要了。如果需要对外展示,需要额外生成一个展示的串,如果使用主键展示的话,其实是可以让操作者猜出数据库大致存储的数据量的,而如果不做存储,是否连续意义就不大了。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕虎8548721 #1
    其实不是为了页面显示,而是在数据历史数据清理之后依然能够保证数据完整性的想法,比如现在2018年了,我希望把一年前或者一季度前的数据都转成额外的表进行存储,这样来处理数据量大引起的慢查询问题,但是又有需要关联外面表信息,所以关联的外键还是不做变动的好些,这样一来,数据表中就有两个字段了,不知道老师你们遇到这样的问题是怎么处理的呢
    回复 有任何疑惑可以回复我~ 2018-06-29 12:12:16
  • Jimin 回复 提问者 慕虎8548721 #2
    我们现在基本不会使用外键,只是通过id保证关联即可,如果需要做数据清理,你遍历已有id去处理就好了,而不需要保证id的连续性。本质上,id的连续性并没有什么实际的含义
    回复 有任何疑惑可以回复我~ 2018-06-29 13:54:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信