随着业务发展,产生了大量慢SQL,数据库故障频发导致数据库的运维和管理成本越来越高,数据库自治服务DAS很好地解决了这个问题,自动优化了数千万条SQL。本文介绍如何用DAS对SQL进行分析、识别问题SQL、优化SQL等。

10秒SQL分析

当MySQL突然出现CPU飙升、活跃会话升高或者响应时间飙升的告警时,一般情况下,首先想到的是去数据库上执行show processlist,但是这个方式可能结果集巨大,非常难以分析。针对这个场景,DAS提供10秒SQL分析功能,在10秒中,每隔一秒执行一次show processlist,然后将所有的结果集进行统计分析,可以非常清晰地看到在这10秒中,哪些SQL执行的次数最多,是否存在慢SQL等。

说明 每隔1秒指第1秒执行一次,第3秒又执行一次。

关于10秒SQL分析的操作步骤详情请参见10秒SQL分析

慢SQL优化

  • 慢日志问题极大地影响数据库的稳定性。当数据库出现负载高、性能抖动等问题时,建议先查看是否有慢日志在执行。您可以通过DAS慢日志分析功能查看慢日志趋势、执行情况和优化建议。 您可以查看单个实例的慢日志,也可以查看全局慢日志趋势,关于慢日志分析的操作步骤请参见分析慢日志
  • DAS提供慢SQL告警功能,当慢SQL数量超过阈值后,可以通过手机短信、邮件或钉钉给您发送慢SQL告警消息。关于设置慢SQL告警的操作步骤请参见设置慢SQL告警
  • 您可以通过DAS慢日志的优化功能诊断和优化SQL,具体操作步骤请参见SQL优化

全量SQL诊断

全量SQL诊断可以快速地解决难定位历史问题、难获取SQL压测模版、难判断慢SQL是否要优化等问题。具体场景请参见全量SQL功能简介

实例的全量SQL分析功能默认关闭,您可以参见全量SQL使用方法进行开启。

若您想采用本地数据库网关部署方式采集全量SQL,关于数据库网关简介请参见DBGateway简介,请参见具体方案请参见负载说明