使用DAS实现数据库自动SQL优化

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
简介: 本场景介绍如何使用DAS实现数据库自动SQL优化。

使用DAS实现数据库自动SQL优化


1. 购买DAS专业版并新增实例

登录DAS专业版购买页面,根据界面提示选择对应参数,购买DAS专业版。

DAS控制台DAS专业版管理页面,单击页面右上角新增实例。

在选择实例的搜索框里输入需要使用DAS专业版管理的PolarDB实例ID,勾选已查询出来的实例,添加至右侧区域。

说明:DAS专业版会自动打开PolarDB的SQL洞察功能。DAS将赠送给您5GB SQL洞察存储空间,超出部分按照0.008元/GB/小时收费,日志至少保存30天。

单击确定后页面会提示新增成功,可到已使用实例列表页面查看。


2. 开启DAS自治服务

登录PolarDB MySQL控制台,单击集群列表,选择已创建的集群ID,进入集群详情页。

在左侧导航栏选择一键诊断,在自治中心页签下,单击右侧自治功能开关进入设置页面。

开启自治服务。

 

单击确定


3. 构造数据

在PolarDB MySQL中创建表并导入测试数据。

登录PolarDB MySQL控制台,单击实例ID,进入实例详情后,单击数据库管理 > 创建数据库,完成数据库的创建。

说明:为案例展示需要,本案例中数据库的名称定为das_test。

       


通过DMS登录数据库:在PolarDB MySQL控制台,进入实例详情页,单击SQL查询,跳转DMS控制台后输入账号和密码。

说明:首次使用DMS连接PolarDB MySQL实例时,系统会提示您授权白名单,单击确认后即可完成授权。

成功登录后,直接打开数据库的SQL Console面板,输入以下语句,创建PolarDB MySQL表。

1)执行如下语句创建一张students表。


         

2)如下两条INSERT INTO语句各执行一次,写入两条数据。


         

3)重复执行如下语句建议执行20次以上,生成200万行数据。


         


4. 模拟压测

本步骤需要在ECS控制台,登录ECS实例部署压测程序,并使用该程序模拟流量注入。

单击下载地址 ,下载压测程序。

开通ECS服务器,本案例要求配置如下:

地域与可用区:与已创建的PolarDB MySQL集群一致。

实例规格:建议选择计算型、4vCPU 8GiB以上规格。

镜像:CentOS 7.8 64位。

系统盘 :选择 ESSD云盘 40GB。

公网IP:勾选分配公网IPV4地址。

带宽计费模式:选择按使用流量。

带宽峰值:设置为10Mbps。

登录凭证

密钥对:选择已有的密钥对,或者单击创建密钥对即时创建密钥对。

自定义密码:输入并确认密码。使用用户名和密码登录实例时,Linux实例默认用户名为root,Windows实例默认用户名为administrator

创建后设置:在实例创建完成后,自行绑定密钥对或者重置实例密码。

其余配置不做要求,选择默认即可。

PolarDB MySQL控制台的集群详情中,将ECS的IP地址添加至PolarDB MySQL的白名单中。

登录ECS。

1)登录ECS控制台,选择实例,单击开通的实例ID名称。

2)单击远程连接。

3)可选择Workbench远程连接方式,单击立即登录。

执行如下命令创建目录。


         

将下载的das-testbed-simple.zip压缩包上传至ECS 实例的 /usr/local/src 目录下。

Windows系统下载使用MobaXterm工具登录ECS地址上传。

Macos系统使用终端上传。

在src 目录下执行如下命令解压das-testbed-simple.zip。


         


依次执行如下命令编辑data-source.properties,复制PolarDB的集群地址替换该文件里的占位符,并设置账户和密码。

1) 在 PolarDB集群的基本信息页面,获取集群链接地址 。

2) 修改配置文件data-source.properties。


         

按i进行修改,修改完成后按Esc再输入:wq保存退出。

说明:标红位置参数按照实际环境配置。

jdbc.url:

*********.rwlb.rds.aliyuncs.com:PolarDB MySQL集群的链接地址。

das_test:数据库名称。

jdbc.username:账户名,登录PolarDB控制台,在配置与管理 > 账号管理页面,进行查看。

jdbc.password:账户密码。

执行如下命令,修改test-scenario-config.json内容如下:


         

说明:该配置测试程序以20个线程并发执行update 语句20分钟,把PolarDB主库的 CPU持续打高。

通过 yum命令在 ECS上安装 java。


         

在终端窗口运行以下命令,对PolarDB进行高并发压测。


         



5. 查看自动SQL优化结果

登录PolarDB MySQL控制台

在左侧菜单单击一键诊断。

自治中心页签下单击SQL优化建议的事件详情

单击慢SQL诊断(诊断优化)的详情根因分析和建议里可以看到没有使用索引的UPDATE慢SQL,并且提供了增加索引的DDL语句。

可以看到SQL优化指令状态为已提交,但是查看PolarDB MySQL的students表还没有增加idx_name索引。因为增加索引可能会导致实例性能下降,所以DDL语句会在实例可维护窗口:02:00-03:00执行。

运维时间后登录PolarDB MySQL控制台,进入实例详情页,单击SQL查询,登录数据库查看students表,增加了idx_name索引。

实验链接:https://developer.aliyun.com/adc/scenario/d4c7cd1c5136453d9ab49b150386cdec

相关实践学习
使用DAS实现数据库自动扩容和回缩
暂无
相关文章
|
7天前
|
SQL 缓存 监控
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
本文详细解析了数据库、缓存、异步处理和Web性能优化四大策略,系统性能优化必知必备,大厂面试高频。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:4 大性能优化策略(数据库、SQL、JVM等)
|
7天前
|
存储 NoSQL 分布式数据库
微服务架构下的数据库设计与优化策略####
本文深入探讨了在微服务架构下,如何进行高效的数据库设计与优化,以确保系统的可扩展性、低延迟与高并发处理能力。不同于传统单一数据库模式,微服务架构要求更细粒度的服务划分,这对数据库设计提出了新的挑战。本文将从数据库分片、复制、事务管理及性能调优等方面阐述最佳实践,旨在为开发者提供一套系统性的解决方案框架。 ####
|
8天前
|
存储 SQL 数据库
深入浅出后端开发之数据库优化实战
【10月更文挑战第35天】在软件开发的世界里,数据库性能直接关系到应用的响应速度和用户体验。本文将带你了解如何通过合理的索引设计、查询优化以及恰当的数据存储策略来提升数据库性能。我们将一起探索这些技巧背后的原理,并通过实际案例感受优化带来的显著效果。
27 4
|
7天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
15天前
|
SQL 存储 缓存
如何优化SQL查询性能?
【10月更文挑战第28天】如何优化SQL查询性能?
60 10
|
8天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
10天前
|
SQL druid 数据库
如何进行数据库连接池的参数优化?
数据库连接池参数优化包括:1) 确定合适的初始连接数,考虑数据库规模和应用需求;2) 调整最大连接数,依据并发量和资源状况;3) 设置最小空闲连接数,平衡资源利用和响应速度;4) 优化连接超时时间,确保系统响应和资源利用合理;5) 配置连接有效性检测,定期检查连接状态;6) 调整空闲连接回收时间,适应访问模式并配合数据库超时设置。
|
14天前
|
SQL 存储 缓存
SQL Server 数据太多如何优化
11种优化方案供你参考,优化 SQL Server 数据库性能得从多个方面着手,包括硬件配置、数据库结构、查询优化、索引管理、分区分表、并行处理等。通过合理的索引、查询优化、数据分区等技术,可以在数据量增大时保持较好的性能。同时,定期进行数据库维护和清理,保证数据库高效运行。
|
14天前
|
SQL 缓存 监控
数据库优化
【10月更文挑战第29天】数据库优化
27 1
|
15天前
|
缓存 关系型数据库 MySQL
如何优化 MySQL 数据库的性能?
【10月更文挑战第28天】
38 1

相关产品

  • 数据库自治服务