Mysql 性能调优方法可以从四个方面来说,分别是:
- 表结构与索引
- SQL 语句优化
- Mysql 参数优化
- 硬件及系统配置
这四个方面的优化成本和优化效果是成反比的。
表结构和索引的优化
表结构和索引的优化,主要可以下面这些方面去优化:
分库分表、读写分离、为字段选择合适的数据类型、适当的反范式设计,适当冗余设计、为查询操作创建必要的索引但是要避免索引滥用、尽可能使用 Not Null。
SQL语句优化
SQL 语句优化可以从几个方面来做:
- 通过慢查询分析需要优化的 SQL 进行合理优化、利用 explain、profile 等工具分析 SQL
- 执行计划、避免使用 SELECT *查询。
- 尽可能使用索引扫描来排序。
参数调优方面
参数调优方面,主要可以设置 Buffer_pool 的大小,建议占总内存的 70%左右。设置刷盘策略,平衡好数据安全性和性能的关系等。
硬件及系统配置
硬件方面、主要是 CPU 核数、磁盘的读写性能(减小寻道时间、旋转时间、传输时间),可以选择 SSD、网卡、内存等方面。