慢查询数过高

最近更新时间:2024-06-12 16:39:02

我的收藏

现象描述

慢查询现象出现的时候,一般伴随着多个监控指标同时飙升,例如:CPU 使用率、慢查询数量。
说明:
可在监控告警页下查询实例的 CPU 使用率、慢查询数情况。

可能原因

通常情况下是 SQL 语句的执行效率不够高,导致大量的请求堆积在 TDSQL-C MySQL 版中,常见原因有两个:
原因1:SQL 语句没有利用索引或者没有用较佳的索引。
原因2:QPS 压力超过当前实例的承载上限。

解决思路

针对两个可能的原因,分别有不同的解决思路:
解决思路1:优化 SQL 语句,提升 SQL 语句的执行效率。详情请参见 措施1
解决思路2:提升 TDSQL-C MySQL 版的配置。详情请参见 措施2

处理步骤

措施1:优化 SQL 语句

可以直接用数据库智能管家 DBbrain 来进行慢查询优化。DBbrain 会分析 SQL 语句并给出加索引的建议。
1. 登录 DBbrain 控制台,在左侧导航选择诊断优化,在上方选择对应数据库,然后选择慢 SQL 分析页。
2. 单击(选择单一时间段)或拉选(选择多个时间段)SQL 统计图表的慢查询(柱形图),下方会显示聚合 SQL 模板以及执行信息(包括执行次数、总耗时执行时间、扫描行数、返回行数等)。

3. 单击某条聚合的 SQL 模板行,右侧边会弹出 SQL 的具体分析和统计数据,可查看对应索引建议。

措施2:提升 TDSQL-C MySQL 版的配置

查看各规格对应的 QPS 官方压测数据,与当前实例的 QPS 数据进行比较,调整对应的 计算规格配置