Skip to content
进阶

一句话答案

单库用自增 ID 简单高效,分布式场景用雪花算法(有序高性能)或号段模式(高可用),UUID 无序不利于索引。

核心要点
方案优点缺点
UUID简单无依赖无序/字符串长/不利索引
雪花算法有序/高性能时钟回拨问题
号段模式高可用/可预分配依赖DB
Redis自增简单有序依赖Redis
追问与易错

追问方向:

  • 雪花算法时钟回拨怎么处理?
  • UUID 做主键有什么问题?
  • 号段模式怎么实现?

易错点:

  • ❌ 自增 ID 没有问题——暴露业务量/分库不唯一
  • ❌ 雪花算法不会重复——时钟回拨时可能重复

💡 记忆锚点

自增 ID 像排队取号——简单有序但只能一个窗口发号(单库)。分布式场景需要多窗口同时发号不重复:雪花算法是"时间戳+机器号+序列号"组合出唯一编号(有序高性能,但怕时钟回拨),号段模式是批量预领一段号码回去慢慢发(高可用),UUID 是随机生成但无序导致索引分裂。