关于主键id长度不够用蛋疼思考

前言:一般bigint都够用,下面根据不同的情况,分析,解决不同的问题

1  之前建表类型为int,现在不够用了怎么办?

        改bigint

2  虽然是bigint,但是因为经常删除新增数据,导致id增长非常快,预计过一段时间就会超长

        可以另外维护一张表,专门记录可用不可用的id,每次插入数据请求接口查询可用的最小id

        其他思考:并发量高?可以多查一些放到redis里

        其他思考:现在旧数据都是假删除,重新插入也会影响数据,旧数据已删除的如果真的没用就删除,或者删除把数据放到备份表里面。

3 我不删除数据,但id就是不够用了,咋办?

        其实吧,id还没用完,因为数据量的原因,查询更新都不行,很大可能已经进行了分库分表,例如根据城市分库,根据时间(例如1年),这个时候id就可以根据城市,每个城市都可以从1开始,基本上也不回有问题。

4 还是不够用怎么办?

        如果还不够用就考虑大数据方面解决问题,具体业务具体看吧,毕竟不可能那么多数据都是热点数据吧?如果需要统计或者计算分析,还是用大数据来解决。

——————————chenchen

Guess you like

Origin blog.csdn.net/u010191034/article/details/120493943