可以参考如下建议:
- 如果产生了慢日志,可以通过查看慢日志来确定是否存在运行缓慢的SQL查询,查看对应的执行计划,从而定位查询运行缓慢的原因。查询MySQL日志,请参见 查看慢日志 。
- 查看关系数据库MySQL实例的CPU使用率指标,协助定位问题。
- 可以创建只读实例专门负责查询,减轻主实例负载,分担数据库压力。
- 如果是实例规格较小但负载过高,您可以提高CPU/内存规格,具体请参见 规格扩容。
- 如果是多表关联查询时,关联字段要加上索引。
- 索引并非越多越好,索引虽然能够提高对应的 select 的效率。但同时候也减少了 insert 及 update 的效率,由于 insert 或 update 会更新索引,所以如何建索引须要谨慎考虑,一个表的索引数最好不要超过6个。
- 尽量避免大事务操作,提高系统并发能力。
- 尽量避免向client客户端返回大数据量,若数据量过大,应该考虑对应需求是否合理。