- Published on
UUID和数据库主键
- Authors
- Name
- Lif
UUID
uuid是由网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等因素随机生成的一个字符串。有128位,重合概率是2的128次方。
Unique
突发奇想用uuid做数据库主键。
- 可以保证全局唯一性
- 可以分布式生成
- 无序插入可以避免锁竞争
- 猜不到,很安全
- 易于合并、迁移
但是也有一些问题
- 存储开销大
- 性能没有自增id高
- 手动根据id搜索数据很难
- 生成效率可能会比较差
- 不能通过id确定创建顺序