MySQL 分片键怎么选?分片路由策略有哪些?
分片键选择原则:① 业务访问最频繁的条件(WHERE 高频列),保证大部分查询单分片路由(如订单按 user_id、按 order_id);② 数据分布均匀(避免热点分片,如按用户 ID 哈希/取模);③ 不可变或低频变更(改分片键=数据搬迁)。路由策略:① 范围分片:按 ID/时间区间(天然支持范围查询,但可能热点不均);② 哈希取模:hash(key) % N(均匀,但扩缩容需迁移数据,可用一致性哈希/虚拟槽缓解);③ 一致性哈希:减少扩容迁移量;④ 映射表:路由表查询(灵活,多一次查询)。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。