一、引言
数据库自治服务(Database Autonomy Service,简称DAS)是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助用户消除数据库管理的复杂性及人工操作引发的服务故障。数据库自治服务DAS支持自动SQL优化,相比传统的优化方式,能够自动识别问题SQL,生成索引优化建议。
本实验介绍如何通过数据库自治服务DAS对RDS MySQL高可用实例进行SQL优化,包含购买RDS实例并创建数据库、数据导入、生成并优化慢SQL、执行优化后的SQL语句等实验步骤。完成任务, 即可领取羊羔绒加厚坐垫,限量500个,先到先得。 邀请好友共同参与活动,还可赢取哨鸟投影键盘 M1、转轮日历等精美好礼!
二、数据导入
任务背景:一家拥有五十万名员工的公司,其办事处位于四个城市,分别是纽约、旧金山、波士顿和洛杉矶。每位员工都会被分配到一些项目中工作。我们需要确定驻扎在纽约、参与8号项目且年薪超过十万元的员工数量。
登录RDS控制台:
-
单击参数设置,将 long_query_time 的参数值设置为 0.1 (可在搜索框中搜索参数名,更快定位参数)。
-
修改完成后,单击 提交参数 。在 修改参数 对话框中,选择 立即生效 ,单击 确定 。
注:该参数设置后,需要重启会话才能生效。因此如果先执行了登录数据库等其它步骤,在设置该参数后,需重新刷新DMS页面才能生效。
-
单击 登录数据库 按钮,输入数据库账号和密码进行登录。
-
复制如下链接至浏览器中,下载文件 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
-
单击左侧列表的 常用功能 > 数据导入 ,选择新创建的sampledb数据库,单击 上传文件 ,选择刚刚下载的sampledb.sql文件,单击 提交申请 。
-
单击 执行变更 ,在 任务设置 对话框中选择 立即执行 ,单击 确定执行 ,可将库表结构、实例数据导入到数据库中。
三、生成并优化慢SQL
-
单击左侧 数据库实例 选项卡,选择 sampledb 数据库。执行如下命令,查询驻扎在纽约、参与8号项目且年薪超过十万元的员工数量。
SELECT COUNT(*) AS employee_count
FROM employees e
JOIN projects p ON e.employee_id = p.employee_id
WHERE e.city = '纽约'
AND p.project_name = 'Project_8'
AND e.salary > 100000;
执行之后,在控制台下方的 执行列表 可以看到实际执行时间。
说明: 可单击执行列表右上角刷新按钮查看,执行结果状态。
-
登录下方链接 DAS控制台 ,单击左侧列表的 实例监控 > MySQL ,找到目标实例单击实例ID进入详情。 https://das.console.aliyun.com/
-
单击左侧列表的 请求分析 > 慢日志 ,查看 慢日志明细 ,并单击 优化 按钮。