专栏名称: 阿里开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
目录
相关文章推荐
阿里开发者  ·  从铜线到云端:网络技术的跨越与未来趋势 ·  17 小时前  
阿里开发者  ·  3步,0代码!一键部署DeepSeek-V3 ... ·  昨天  
白鲸出海  ·  奥特曼率队深夜血战DeepSeek,o3-m ... ·  5 天前  
51好读  ›  专栏  ›  阿里开发者

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

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

主要观点总结

本文介绍了通过数据库自治服务DAS对RDS MySQL高可用实例进行SQL优化的过程,包括数据导入、生成并优化慢SQL、执行优化后的SQL语句等步骤。通过参与活动,读者可以领取羊羔绒加厚坐垫等精美好礼。

关键观点总结

关键观点1: 数据库自治服务DAS的介绍

DAS是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,旨在帮助用户消除数据库管理的复杂性及人工操作引发的服务故障。

关键观点2: 实验流程概述

实验包括购买RDS实例并创建数据库、数据导入、生成并优化慢SQL、执行优化后的SQL语句等步骤。

关键观点3: 数据导入的重要性及方法

数据导入是实验的重要环节,涉及文件下载、校验及上传等步骤。文中提供了详细的操作步骤及命令。

关键观点4: 慢SQL的生成与优化

通过DAS控制台,可以生成慢日志并查看慢日志明细。根据优化建议,可以执行优化后的SQL语句,提高数据库的执行效率。

关键观点5: 活动福利

参与活动的用户完成任务可领取羊羔绒加厚坐垫,限量500个。邀请好友完成任务还有机会获得哨鸟投影键盘M1、转轮日历等精美好礼。


正文

一、引言

数据库自治服务(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. 单击左侧列表的 请求分析 > 慢日志 ,查看 慢日志明细 ,并单击 优化 按钮。







请到「今天看啥」查看全文