专栏名称: 阿里开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
目录
相关文章推荐
白鲸出海  ·  GTC2024 ... ·  昨天  
白鲸出海  ·  FLUX“改图模型”上线,OpenAI要做浏 ... ·  3 天前  
白鲸出海  ·  Discord、YouTube入局小游戏,会 ... ·  4 天前  
阿里开发者  ·  为什么大模型连"Strawberry"的"r ... ·  5 天前  
51好读  ›  专栏  ›  阿里开发者

如何使用自治服务DAS实现数据库SQL优化?

阿里开发者  · 公众号  · 科技公司  · 2024-11-25 08:30

正文

一、引言

数据库自治服务(Database Autonomy Service,简称DAS)是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助用户消除数据库管理的复杂性及人工操作引发的服务故障。数据库自治服务DAS支持自动SQL优化,相比传统的优化方式,能够自动识别问题SQL,生成索引优化建议。

本实验介绍如何通过数据库自治服务DAS对RDS MySQL高可用实例进行SQL优化,包含购买RDS实例并创建数据库、数据导入、生成并优化慢SQL、执行优化后的SQL语句等实验步骤。完成任务,即可领取羊羔绒加厚坐垫,限量500个,先到先得。邀请好友共同参与活动,还可赢取哨鸟投影键盘 M1、转轮日历等精美好礼!

二、数据导入

任务背景:一家拥有五十万名员工的公司,其办事处位于四个城市,分别是纽约、旧金山、波士顿和洛杉矶。每位员工都会被分配到一些项目中工作。我们需要确定驻扎在纽约、参与8号项目且年薪超过十万元的员工数量。

登录RDS控制台:

  1. 单击参数设置,将long_query_time的参数值设置为0.1(可在搜索框中搜索参数名,更快定位参数)。

  1. 修改完成后,单击提交参数。在修改参数对话框中,选择立即生效,单击确定

注:该参数设置后,需要重启会话才能生效。因此如果先执行了登录数据库等其它步骤,在设置该参数后,需重新刷新DMS页面才能生效。

  1. 单击登录数据库按钮,输入数据库账号和密码进行登录。

  1. 复制如下链接至浏览器中,下载文件sampledb.sql

说明

下载文件后,您可以通过在本地终端输入以下命令来检查文件的MD5哈希值,以确认其安全性。(sampledb.sql文件MD5哈希值为53348ab96c68051efa7b181eb8acec00

  • MAC :md5 文件路径/sampledb.sql

  • Windows:certutil -hashfile "文件路径/sampledb.sql" MD5

https://developer-labfileapp.oss-cn-hangzhou.aliyuncs.com/database/sampledb.sql
该sql表示一家拥有五十万名员工的公司,其办事处位于四个城市,分别是纽约、旧金山、波士顿和洛杉矶。每位员工都会被分配到一些项目中工作。为了管理这些关系,我们需要使用员工表和项目分配表,具体结构如下所示。

  1. 单击左侧列表的常用功能 > 数据导入,选择新创建的sampledb数据库,单击上传文件,选择刚刚下载的sampledb.sql文件,单击提交申请

  1. 单击执行变更,在任务设置对话框中选择立即执行,单击确定执行,可将库表结构、实例数据导入到数据库中。

三、生成并优化慢SQL

  1. 单击左侧数据库实例选项卡,选择sampledb数据库。执行如下命令,查询驻扎在纽约、参与8号项目且年薪超过十万元的员工数量。

SELECT COUNT(*) AS employee_countFROM employees eJOIN projects p ON e.employee_id = p.employee_idWHERE e.city = '纽约'  AND p.project_name = 'Project_8'  AND e.salary > 100000;

执行之后,在控制台下方的执行列表可以看到实际执行时间。

说明:可单击执行列表右上角刷新按钮查看,执行结果状态。

  1. 登录下方链接DAS控制台,单击左侧列表的实例监控 > MySQL,找到目标实例单击实例ID进入详情。

    https://das.console.aliyun.com/

  1. 单击左侧列表的请求分析 > 慢日志,查看慢日志明细,并单击优化按钮。

  1. 查看优化预期效果。在合理的等待(15s内),会直接显示优化建议,这里提出了一个增加索引的建议并进行复制。根据模型计算,预期性能将提升12倍。

四、执行优化后的SQL语句

  1. 返回DMS控制台。将复制的行存索引建议,粘贴至SQLConsole中单击执行按钮。在弹出的变更确认对话框中单击直接执行

  1. 再次执行SELECT语句后,进入执行列表查看耗时,可见实际执行效率提升了26倍。

五、学习福利

想必你通过阅读,已经学会如何使用DAS实现数据库SQL优化。现在邀请你来到阿里云开发者社区参加活动,完成任务一,任务二即可领取羊羔绒加厚坐垫,限量500个(同一用户仅可领取一次奖品,用户完成任务后需点击“领取奖品”按钮进行领取)。邀请好友完成任务一和任务二,即有机会获得哨鸟投影键盘 M1转轮日历等精美好礼!

点击阅读原文,去体验如何使用DAS实现数据库SQL优化~