SQL数据库的INT类型最大值只有21亿怎么办?

ps800 2015-11-07 07:06:38
我用int类型作为主键,自动增长,长到21亿(2,147,483,647),怎么办?我知道有人可能会说用bigint类型,但也会封顶呀。
假设最后一条记录的ID号是212147483647,那么我要是换个新的数据表的话,ID号又要从0开始,这样的话,一个ID=0,可以检索出两条子记录。。。。。。。


另外,我想把三个月前的订单数据,分离出来。怎么分离呢,是通过ASP程序,把符合条件的数据,全部写入另一张表,然后再删除原表,还是怎么办?这个数据库里,有许多表,但只有订单详情表,增量比较大。其它基础数据,增量都是可以预见的。
是分表,还是分数据库?如果分表的话,表的命名应该怎么命名,方便程序查询?如果分库的话,跨数据库查询怎么查啊?
有没有什么方案?
...全文
4113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
number1170196649 2015-12-20
  • 打赏
  • 举报
回复
引用 1 楼 ps800 的回复:
刚刚自己百度了一些资料。 结合我的实际,是订单数据,有日期的。所以,按日期分,每月一分。 有两种方法,一种是数据表分区,一种是干脆满月就用新表table201501,table201502,,,,,这样下去。应该是哪种呢?数据量每月在百万~1千万之内吧。
如果这样来按月分表的话,数据怎么获取?通过给定的参数查询特定的表吗?
daydreary 2015-12-18
  • 打赏
  • 举报
回复
你的数据库都不做分表分区的吗。。
zbdzjx 2015-12-18
  • 打赏
  • 举报
回复
bigint是可能封顶,但实际上不可能用到封顶吧。bigint相当于9*10^18,一个月一千万的数据量,也就是10^7,一共可以用9*10^11个月,用到上万年都只是微乎其微。
sunylf 2015-12-18
  • 打赏
  • 举报
回复
这个帖,怎么跑这个版块来了?版主帮他移移位置。
ps800 2015-11-07
  • 打赏
  • 举报
回复
刚刚自己百度了一些资料。 结合我的实际,是订单数据,有日期的。所以,按日期分,每月一分。 有两种方法,一种是数据表分区,一种是干脆满月就用新表table201501,table201502,,,,,这样下去。应该是哪种呢?数据量每月在百万~1千万之内吧。

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧