RSS
菜单

MySQL 分库分表后全局唯一 ID 怎么生成?

方案:① 数据库自增步长:多库自增步长不同(1,3,5... 与 2,4,6...)——简单但扩容要改步长;② 号段模式(美团 Leaf-segment):DB 批量取号段缓存内存发号——性能好、有序、依赖 DB;③ 雪花算法(Snowflake):时间戳+机器 ID+序列号(64 位)——趋势递增、高性能、无 DB 依赖,需处理时钟回拨;④ Redis INCR:简单但依赖 Redis、有持久化丢号风险;⑤ UUID:全局唯一但无序、长、影响索引性能(可换 UUID 转 BIGINT 或用 ULID);⑥ 第三方:百度的 uid-generator、滴滴 Tinyid。推荐:Leaf 号段或雪花。

下载推广海报

圈内讨论推广海报

《MySQL 分库分表后全局唯一 ID 怎么生成?》完整推广海报
一起交流

全部回复 0

分享经验,让问题更进一步

讨论,从你的观点开始

还没有回复,欢迎补充经验或分享不同的思路。