大家的数据库主键 ID 是用什么?

2020-04-23 10:43:35 +08:00
 zealinux
  1. 自增长的 Long 或 Int
  2. UUID
  3. 自己代码生成插入 String

或者其他更好的方案


我喜欢用 UUID,这样每次合并数据时没那么痛苦。

5113 次点击
所在节点    数据库
39 条回复
CCIP
2020-04-23 10:46:11 +08:00
雪花算法
FanError
2020-04-23 10:46:50 +08:00
用 UUID,不过一直看别人说性能不好。
我寻思着接触的项目应该数据量或对性能的要求还没达到要在这个 UUID 上榨性能的地步,就没管了。
asAnotherJack
2020-04-23 10:46:54 +08:00
自增,索引的原理 用自增的好
tabris17
2020-04-23 10:47:35 +08:00
那还不如 snowflake
Cmdhelp
2020-04-23 11:08:33 +08:00
这个还是看应用环境吧,
ytmsdy
2020-04-23 11:08:51 +08:00
自增,毕竟时不时查数据,看 ID 的时候,长长的 UUID 看多了眼镜会瞎。
MeteorCat
2020-04-23 11:14:41 +08:00
自增 ID,很多项目都达不到研究选用什么主键 ID 的地步,按照最简原则选择最容易的
littleylv
2020-04-23 11:24:34 +08:00
量大再考虑性能。
量少,喜欢用什么就用什么
arthas2234
2020-04-23 11:26:22 +08:00
这个要看表的作用啊,难道订单、用户、客户数据也用自增?
ajaxfunction
2020-04-23 11:28:13 +08:00
一直是自增,目前最悠久的一个项目自增到 90 万
Veneris
2020-04-23 11:33:04 +08:00
雪花算法,自增,不连续,全局无重复。
但是太长,有没有满足以上三条但短一些的。
gjquoiai
2020-04-23 12:08:20 +08:00
littlewing
2020-04-23 12:57:15 +08:00
@arthas2234 是的,都用自增,然后订单、用户、客户 id 加索引
akira
2020-04-23 13:58:48 +08:00
表主键 ID 用自增,原则上不参与任何业务逻辑,放着好看的。
业务 主键 用 uuid
gz911122
2020-04-23 14:17:59 +08:00
@arthas2234 是的 都用自增,恭喜你猜对了
xsm1890
2020-04-23 14:19:41 +08:00
innodb 自增
jzmws
2020-04-23 14:22:40 +08:00
无脑推荐雪花算法 太香了
newtype0092
2020-04-23 14:22:41 +08:00
@arthas2234 用啊
Hanggi
2020-04-23 14:24:42 +08:00
自增加 hash
newtype0092
2020-04-23 14:27:37 +08:00
@arthas2234 哈哈你看这么多用的,小数据量的自增最高效,大数据量或着跨库的时候用自己定义的 id 就行,自增 id 也是要保留的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/665250

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX