V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
libasten
V2EX  ›  程序员

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

  •  
  •   libasten · 2020-12-08 13:55:43 +08:00 · 1557 次点击
    这是一个创建于 1236 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    10 条回复    2020-12-08 17:18:14 +08:00
    dswyzx
        1
    dswyzx  
       2020-12-08 13:57:08 +08:00
    假删除.是时候拿出真正的 自欺欺人尺 了
    WEBUG
        2
    WEBUG  
       2020-12-08 13:58:18 +08:00
    一样的,自己写了个逻辑删除后整体平移了下,保证一直连续,舒服
    acmore
        3
    acmore  
       2020-12-08 14:06:22 +08:00
    我有类似的洁癖,如果没有自增 ID 的强烈必要性的话用 GUID 做主键可解
    learningman
        4
    learningman  
       2020-12-08 14:15:09 +08:00
    @WEBUG 你硬是把一个 O(1)操作优化成 O(n)了。。。
    chinvo
        5
    chinvo  
       2020-12-08 14:20:08 +08:00 via iPhone
    @acmore #3 GUID 不能 time-sortable,我选择 snowflake-like
    WEBUG
        6
    WEBUG  
       2020-12-08 14:22:35 +08:00
    @learningman 自己的小项目,严格说是手动自增,id 也不是全表连续的,不影响性能。看着特别舒服
    learningman
        7
    learningman  
       2020-12-08 14:24:57 +08:00
    @WEBUG 小项目我都拿 uuid 或者 md5 当 primary key
    WEBUG
        8
    WEBUG  
       2020-12-08 14:27:58 +08:00
    @learningman 这个字段有排序 和修改排序的需求,总感觉 uuid 太长了,所以选了数字(心里感觉能省好多流量,虽然感觉到时候并没多少人用)
    PerFectTime
        9
    PerFectTime  
       2020-12-08 15:05:30 +08:00
    自增 id 看着不爽,所以换成 guid 了
    raaaaaar
        10
    raaaaaar  
       2020-12-08 17:18:14 +08:00 via Android
    不应该是加个 delete 字段吗?都是软删除比较多吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2672 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:15 · PVG 19:15 · LAX 04:15 · JFK 07:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.