华为云云数据库rdsRDS for MariaDB慢SQL问题定位_云淘科技

在相同业务场景下,架构设计和库表索引设计会影响查询性能,良好的设计可以提高查询性能,反之会出现很多慢SQL(执行时间很长的SQL语句)。本文介绍导致慢SQL的原因和解决方案。

SQL异常

原因及现象

SQL异常的原因很多,例如库表结构设计不合理、索引缺失、扫描行数太多等。

您可以在控制台的慢日志页面,下载并查看执行缓慢的SQL,慢SQL的执行耗时等信息。具体操作,请参见查看或下载慢日志。

解决方案

通过慢SQL的结果优化SQL语句。

实例瓶颈

原因及现象

实例到达瓶颈的原因一般有如下几种:

业务量持续增长而没有扩容。
硬件老化,性能有损耗。
数据量一直增加,数据结构也有变化,导致原来不慢的SQL变成慢SQL。

您可以在控制台查看实例的资源使用情况。如果资源使用率各项指标都接近100%,可能是实例到达了瓶颈。具体操作,请参见查看实例运行情况。

解决方案

确认实例到达瓶颈后,建议升级实例规格。具体操作,请参见变更实例的CPU和内存规格。

参数设置不当

原因及现象

部分参数(如innodb_spin_wait_delay)设置不当会导致性能变慢。

您可以在控制台查看实例的参数修改情况。具体操作,请参见查看参数修改历史。

解决方案

调整相关参数,使其适合业务场景。

批量操作

原因及现象

如果有大批量的数据导入、删除、查询操作,会导致SQL执行变慢。

您可以在控制台查看实例的磁盘总大小、磁盘使用量、IOPS等指标。具体操作,请参见查看实例运行情况。

解决方案

在业务低峰期执行大批量操作,或将大批量操作拆分后分批执行。

定时任务

原因及现象

如果实例负载随时间有规律性变化,可能是存在定时任务。

您可以在控制台查看实例的Delete语句执行频率、Insert语句执行频率、Insert_Select语句执行频率、Replace语句执行频率、Replace_Selection语句执行频率、Select语句执行频率、Update语句执行频率等指标,判断是否有规律性变化。具体操作,请参见查看监控指标。

解决方案

调整定时任务的执行时间,建议在业务低峰期执行。

父主题: 性能调优

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家