时间戳做数据库主键合适吗?
我这里不是指的数据库字段是时间戳,数据库字段是int,然后我系统生成毫秒级的时间戳插入,我在想毫秒级的时间戳插入应该不会造成主键冲突把,数据库插入最少也是1m秒而且是加锁的,怎么会产生主键冲突呢? 不合适的! 确实,万一多方同时操作就容易冲突,有这个可能性塞 用雪花算法 主键用自增id就好了吧,毫秒级时间戳在并发场景下还是有概率重复的 本帖最后由 liyangit 于 2022-8-9 14:18 编辑不太合适,很早前 我用过时间戳做流水单号,绝对会重复的,要么就是时间戳再加随机数拼接,要么就 加锁, 不可能每个表新增都要去加上并发预处理,还不如 UUID了,最省事是 自增ID 时间戳绝对会重复,数据一大就重复 UUID都不是很适合,不建议用时间戳,数据一多就会有不可控性,改起来也比较麻烦,还是用自增ID吧 在 时间戳 后面再加一个3位数的随机数应该不会有冲突 我做过一个商城的系统。防止订单号通途。订单号后加上了时间戳。但是订单号也出现重复。不建议你用时间戳做主键。并发太高必重复。我建议你用自增ID或者GUID做主键。GUID的算法你可以百度下。一定不会重复
页:
[1]
2