现象描述
慢查询现象出现的时候,一般伴随着多个监控指标同时飙升,例如:CPU 使用率、慢查询数量。
说明:
可在实例管理页 > 实例监控下查询实例的 CPU 使用率、慢查询数情况。
如上图中,当慢查询出现的时候,CPU 使用率突增到了 150%,慢查询的指标也出现了明显上涨。
可能原因
通常情况下是 SQL 语句的执行效率不够高,导致大量的请求堆积在云数据库 MySQL 中,常见原因有两个:
原因1:SQL 语句没有利用索引或者没有用较佳的索引。
原因2:QPS 压力超过当前实例的承载上限。
解决思路
针对两个可能的原因,分别有不同的解决思路:
解决思路1:优化 SQL 语句,提升 SQL 语句的执行效率。详情请参见 措施1。
解决思路2:提升云数据库 MySQL 的配置。详情请参见 措施2。
处理步骤
措施1:优化 SQL 语句
措施1:优化 SQL 语句
可以直接用数据库智能管家 DBbrain 来进行慢查询优化。DBbrain 会分析 SQL 语句并给出加索引的建议。
1. 登录 DBbrain 控制台,在左侧导航选择诊断优化,在上方选择对应数据库,然后选择慢 SQL 分析页。
2. 单击(选择单一时间段)或拉选(选择多个时间段)SQL 统计图表的慢查询(柱形图),下方会显示聚合 SQL 模板以及执行信息(包括执行次数、总耗时执行时间、扫描行数、返回行数等)。
3. 单击某条聚合的 SQL 模板行,右侧边会弹出 SQL 的具体分析和统计数据,可查看对应索引建议。
措施2:提升云数据库 MySQL 配置
措施2:提升云数据库 MySQL 配置