一 、 引 言
数 据 库 自 治 服 务 ( D a t a b a s e A u t o n o m y S e r v i c e , 简 称 D A S ) 是 一 种 基 于 机 器 学 习 和 专 家 经 验 实 现 数 据 库 自 感 知 、 自 修 复 、 自 优 化 、 自 运 维 及 自 安 全 的 云 服 务 , 帮 助 用 户 消 除 数 据 库 管 理 的 复 杂 性 及 人 工 操 作 引 发 的 服 务 故 障 。 数 据 库 自 治 服 务 D A S 支 持 自 动 S Q L 优 化 , 相 比 传 统 的 优 化 方 式 , 能 够 自 动 识 别 问 题 S Q L , 生 成 索 引 优 化 建 议 。
本文 介 绍 如 何 通 过 数 据 库 自 治 服 务 D A S 对 R D S M y S Q L 高 可 用 实 例 进 行 S Q L 优 化 , 包 含 购 买 R D S 实 例 并 创 建 数 据 库 、 数 据 导 入 、 生 成 并 优 化 慢 S Q L 、 执 行 优 化 后 的 S Q L 语 句 等 实 验 步 骤 。 完 成 任 务 , 即 可 领 取 羊 羔 绒 加 厚 坐 垫 , 限 量 5 0 0 个 , 先 到 先 得 。
二 、 数 据 导 入
任 务 背 景 : 一 家 拥 有 五 十 万 名 员 工 的 公 司 , 其 办 事 处 位 于 四 个 城 市 , 分 别 是 纽 约 、 旧 金 山 、 波 士 顿 和 洛 杉 矶 。 每 位 员 工 都 会 被 分 配 到 一 些 项 目 中 工 作 。 我 们 需 要 确 定 驻 扎 在 纽 约 、 参 与 8 号 项 目 且 年 薪 超 过 十 万 元 的 员 工 数 量 。
登 录 R D S 控 制 台 :
-
单 击 参 数 设 置 , 将 l o n g _ q u e r y _ t i m e 的 参 数 值 设 置 为 0 . 1 ( 可 在 搜 索 框 中 搜 索 参 数 名 , 更 快 定 位 参 数 ) 。
-
修 改 完 成 后 , 单 击 提 交 参 数 。 在 修 改 参 数 对 话 框 中 , 选 择 立 即 生 效 , 单 击 确 定 。
注 : 该 参 数 设 置 后 , 需 要 重 启 会 话 才 能 生 效 。 因 此 如 果 先 执 行 了 登 录 数 据 库 等 其 它 步 骤 , 在 设 置 该 参 数 后 , 需 重 新 刷 新 D M S 页 面 才 能 生 效 。
-
单 击 登 录 数 据 库 按 钮 , 输 入 数 据 库 账 号 和 密 码 进 行 登 录 。
-
复 制 如 下 链 接 至 浏 览 器 中 , 下 载 文 件 s a m p l e d b . s q l 。
说 明
下 载 文 件 后 , 您 可 以 通 过 在 本 地 终 端 输 入 以 下 命 令 来 检 查 文 件 的 M D 5 哈 希 值 , 以 确 认 其 安 全 性 。 ( s a m p l e d b . s q l 文 件 M D 5 哈 希 值 为 5 3 3 4 8 a b 9 6 c 6 8 0 5 1 e f a 7 b 1 8 1 e b 8 a c e c 0 0 )
-
M A C : m d 5 文 件 路 径 / s a m p l e d b . s q l 。
-
W i n d o w s : c e r t u t i l - h a s h f i l e " 文 件 路 径 / s a m p l e d b . s q l " M D 5 。
https://developer-labfileapp.oss-cn-hangzhou.aliyuncs.com/database/sampledb.sql
-
单 击 左 侧 列 表 的 常 用 功 能 > 数 据 导 入 , 选 择 新 创 建 的 s a m p l e d b 数 据 库 , 单 击 上 传 文 件 , 选 择 刚 刚 下 载 的 s a m p l e d b . s q l 文 件 , 单 击 提 交 申 请 。
-
单 击 执 行 变 更 , 在 任 务 设 置 对 话 框 中 选 择 立 即 执 行 , 单 击 确 定 执 行 , 可 将 库 表 结 构 、 实 例 数 据 导 入 到 数 据 库 中 。
三 、 生 成 并 优 化 慢 S Q L
-
单 击 左 侧 数 据 库 实 例 选 项 卡 , 选 择 s a m p l e d b 数 据 库 。 执 行 如 下 命 令 , 查 询 驻 扎 在 纽 约 、 参 与 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;
执 行 之 后 , 在 控 制 台 下 方 的 执 行 列 表 可 以 看 到 实 际 执 行 时 间 。
说 明 : 可 单 击 执 行 列 表 右 上 角 刷 新 按 钮 查 看 , 执 行 结 果 状 态 。
-
登 录 下 方 链 接 D A S 控 制 台 , 单 击 左 侧 列 表 的 实 例 监