为什么要分库分表 一、为什么要分库分表 mysql性能优化 数据库压力 数据量大 分布式 服务化 系统架构设计必须考量 二、如何分库分表 垂直的分库 — 根据业务分库 多表连接查询需要跨系统 分布式事务 水平的分表 主要解决单表数据量过大的问题 例: 可以根据id取模 查分到不同的表中 带来的问题 分页 事务 聚合数据 拆分规则的选择(根据业务来 比如查询条件) 离散 均衡 取模 预分配hash 连续 按时间分 按数量分 例:userId 1~2000 联表查询问题 垂直的分表 三、使用Mycat分库分表