V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
gebishushu
V2EX  ›  问与答

防止注册的 id 重复 有什么思路吗?

  •  
  •   gebishushu · 2023-06-20 00:50:31 +08:00 · 1527 次点击
    这是一个创建于 374 天前的主题,其中的信息可能已经有所发展或是发生改变。
    总不能 写个 sql 语句先查询下这个 id 有没有吧?有的话提示重复?
    还有更好的办法吗?
    15 条回复    2023-06-20 10:08:52 +08:00
    Zyhusesit
        1
    Zyhusesit  
       2023-06-20 00:56:49 +08:00
    可以像 Reddit 一样给用户分配一个不会重复的 ID, 然后不允许用户修改.
    Valid
        2
    Valid  
       2023-06-20 01:00:25 +08:00
    自增 id 啊
    gebishushu
        3
    gebishushu  
    OP
       2023-06-20 01:02:04 +08:00
    @Valid 用户注册的 id 自己定义的那种用户名
    Maboroshii
        4
    Maboroshii  
       2023-06-20 01:02:53 +08:00 via Android
    就是你说的这样啊,加上唯一索引,写 db 的时候再让数据库帮你校验一遍。
    不要把简单的事情想复杂了
    gebishushu
        5
    gebishushu  
    OP
       2023-06-20 01:07:09 +08:00
    @Maboroshii 谢谢
    我是考虑比如数据量大了的情况 假如有 100w 个用户,每次看有没有重复的查询 会卡不
    Maboroshii
        6
    Maboroshii  
       2023-06-20 01:11:49 +08:00 via Android
    @gebishushu 不会,有索引就是毫秒级别。
    weazord
        7
    weazord  
       2023-06-20 01:18:42 +08:00 via iPhone
    @gebishushu 100w 个 ID 放数据库没问题的,不算是很大的数字,放在注册的时候基本无感
    gebishushu
        8
    gebishushu  
    OP
       2023-06-20 01:21:38 +08:00
    @weazord
    @Maboroshii
    谢谢了
    Rocketer
        9
    Rocketer  
       2023-06-20 02:00:31 +08:00 via iPhone
    还真就是写个 sql 查一下,设成唯一索引很快的,b-tree 的原理了解一下
    akira
        10
    akira  
       2023-06-20 02:00:36 +08:00
    你怕 100w 个用户的时候注册会有问题,但是实际情况是一定是其他地方会先崩。
    更多的时候,其实项目初期没必要太过于考虑性能问题,先把业务逻辑跑起来把。
    zmaplex
        11
    zmaplex  
       2023-06-20 02:28:58 +08:00 via Android
    不想要想复杂了,50w 用户以内按一般实践来就行,遇到问题再用根据具体问题看看哪个方案更合适。
    justfindu
        12
    justfindu  
       2023-06-20 09:02:54 +08:00
    总不能? 那不然呢? 100w 而已
    Naccl
        13
    Naccl  
       2023-06-20 09:18:35 +08:00
    布隆过滤器
    jackOff
        14
    jackOff  
       2023-06-20 09:34:03 +08:00 via Android
    使用 uuid,基于年月日时分秒再加上基础的 uuid 生成的 uuid 就是绝对唯一
    PerFectTime
        15
    PerFectTime  
       2023-06-20 10:08:52 +08:00
    学贴吧 id 做主键,hhhhh (馊主意,不要尝试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4516 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:57 · PVG 17:57 · LAX 02:57 · JFK 05:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.