整理了MySQL性能优化实战经验,涵盖索引优化、SQL优化、表设计优化和配置优化。
背景
数据库性能是影响应用整体性能的关键因素。
索引优化
- 为经常出现在WHERE、JOIN、ORDER BY中的字段建立索引
- 联合索引遵循最左前缀原则
- 避免在索引列上使用函数或计算
- 使用EXPLAIN分析执行计划
SQL优化
- 避免使用SELECT *,只查询需要的字段
- 合理使用分页,避免大偏移量
- 批量操作使用批量INSERT/DELETE
表设计优化
- 选择合适的字段类型
- 合理使用范式化和反范式化
- 大表考虑分库分表
配置优化
- 合理设置innodb_buffer_pool_size
- 调整max_connections限制
- 开启慢查询日志
