
分库分表是「用架构复杂度换性能」的手术,能不做就不做。触发拆分的真实信号只有三个:单表数据量导致查询与 DDL 变慢(B+ 树层高增加、索引膨胀,经验值 5000 万行级)、单实例写入瓶颈(IOPS/连接数打满,读可以靠从库扛,写不能)、多租户隔离需求(合规要求或故障隔离)。没有这些信号时,优先用索引优化、读写分离、归档冷数据三板斧续命。一、垂直拆分与水平拆分

在线扩容的标准动作是双写迁移:新旧分片同时写入 → 历史数据全量搬迁 → 校验对账 → 灰度切读 → 下线旧分片。全程可回滚,风险最大的是「双写不一致」——对账任务必须在切读之前跑干净。扩容规划一次到位(预估 3~5 年数据量),避免一年一拆。

分库分表的本质:把「一台数据库扛所有」变成「一群数据库各管一段」,代价是失去跨分片的事务与查询能力。拆之前想清楚用什么补偿这些失去的能力,拆的时候分片键决定一切——这两点想明白了,分库分表就从玄学变成了工程。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。