Java面试宝典:MySQL性能优化
1. MySQL调优金字塔模型
MySQL性能优化遵循金字塔模型,自底向上优化难度递增,但收益递减:
1.1 架构调优(最高收益)
- 业务分离:将非事务性操作(数据分析、全文搜索)迁移到专用系统(数据仓库、Elasticsearch、Redis)
- 读写分离:基于QPS量级判断,当读压力 > 5倍写压力时需实现读写分离
- 分布式架构:当日写入量 > 500万时考虑分库分表,如金融级业务采用ShardingSphere分片
- 数据安全:核心系统采用主从同步+半同步复制,金融系统需部署MHA高可用架构
1.2 SQL与索引优化(核心重点)
- 表结构设计:遵循第三范式与反范式的平衡,如订单表拆分为订单头/订单行
- 索引策略:联合索引遵循最左前缀原则,避免冗余索引(平均每个表保持5个以内索引)
- SQL优化:规避全表扫描,利用覆盖索引减少70%以上的IO消耗 </