操作指南

API 文档

慢查询数过高

最近更新时间:2022-05-05 17:55:32

现象描述

慢查询现象出现的时候,一般伴随着多个监控指标同时飙升,如 CPU 使用率、慢查询数量。

如上图中,当慢查询出现的时候,CPU 使用率突增到了 150%,慢查询的指标也出现了明显上涨。

可能原因

通常情况下是 SQL 语句的执行效率不够高,导致大量的请求堆积在云数据库 MySQL 中,常见原因有两个:

  • 原因1:SQL 语句没有利用索引或者没有用较佳的索引。
  • 原因2:QPS 压力超过当前实例的承载上限。

解决思路

针对两个可能的原因,分别有不同的解决思路:

  • 解决思路1:优化 SQL 语句,提升 SQL 语句的执行效率。详情请参见 措施1
  • 解决思路2:提升云数据库 MySQL 的配置。详情请参见 措施2

处理步骤

措施1:优化 SQL 语句

可以直接用数据库智能管家 DBbrain 来进行慢查询优化。DBbrain 会分析 SQL 语句并给出加索引的建议。

  1. 登录 DBbrain 控制台,在左侧导航选择诊断优化,在上方选择对应数据库,然后选择慢 SQL 分析页。
  2. 单击(选择单一时间段)或拉选(选择多个时间段)SQL 统计图表的慢查询(柱形图),下方会显示聚合 SQL 模板以及执行信息(包括执行次数、总耗时执行时间、扫描行数、返回行数等)。
  3. 单击某条聚合的 SQL 模板行,右侧边会弹出 SQL 的具体分析和统计数据,可查看对应索引建议。

措施2:提升云数据库 MySQL 配置

查看各规格对应的 QPS 官方压测数据,与当前实例的 QPS 数据进行比较,调整对应的 MySQL CPU 和内存规格

目录