Java面试宝典:从基础到架构18
第18章 分库分表与数据架构面试频率: ★★★★☆当单表数据量超过千万,查询性能急剧下降,这时候就需要分库分表。面试官会问:“什么时候分库分表?”“分库分表有哪些方式?”“分片键怎么选?”“跨库查询怎么办?”"分库分表后怎么做分布式事务?"这章咱们就把分库分表核心考点讲透。18.1 为什么要分库分表——单库瓶颈/垂直拆分/水平拆分单库瓶颈数据量瓶颈单表数据量 1000万,B+树高度增加,查询变慢单库数据量 100GB,备份恢复困难单表数据文件 50GB,DDL操作耗时性能瓶颈QPS 5000,单库CPU/IO压力大并发写 1000,锁冲突频繁慢SQL影响整体性能运维瓶颈单库故障影响全部业务备份恢复时间长难以在线DDL拆分方式1. 垂直拆分垂直分库: 按业务拆分到不同库。拆分前: