说一个系统数据维护时候的“洁癖”

2020-12-08 13:55:43 +08:00
 libasten

数据库中自增的 id,一旦不连续,就会很难受,实际上系统在设计的时候,某张表中的内容是需要删除的,但是经常登录到数据中看到 id 不连续,就有点纠结。

不知道有没有人也这样?哈哈。

1631 次点击
所在节点    程序员
10 条回复
dswyzx
2020-12-08 13:57:08 +08:00
假删除.是时候拿出真正的 自欺欺人尺 了
WEBUG
2020-12-08 13:58:18 +08:00
一样的,自己写了个逻辑删除后整体平移了下,保证一直连续,舒服
acmore
2020-12-08 14:06:22 +08:00
我有类似的洁癖,如果没有自增 ID 的强烈必要性的话用 GUID 做主键可解
learningman
2020-12-08 14:15:09 +08:00
@WEBUG 你硬是把一个 O(1)操作优化成 O(n)了。。。
chinvo
2020-12-08 14:20:08 +08:00
@acmore #3 GUID 不能 time-sortable,我选择 snowflake-like
WEBUG
2020-12-08 14:22:35 +08:00
@learningman 自己的小项目,严格说是手动自增,id 也不是全表连续的,不影响性能。看着特别舒服
learningman
2020-12-08 14:24:57 +08:00
@WEBUG 小项目我都拿 uuid 或者 md5 当 primary key
WEBUG
2020-12-08 14:27:58 +08:00
@learningman 这个字段有排序 和修改排序的需求,总感觉 uuid 太长了,所以选了数字(心里感觉能省好多流量,虽然感觉到时候并没多少人用)
PerFectTime
2020-12-08 15:05:30 +08:00
自增 id 看着不爽,所以换成 guid 了
raaaaaar
2020-12-08 17:18:14 +08:00
不应该是加个 delete 字段吗?都是软删除比较多吧

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

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

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

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

© 2021 V2EX