当数据库出现慢SQL或SQL的执行效率对应用程序的运行效率产生较大影响时,您需要对SQL进行优化。数据库自治服务DAS支持自动SQL优化,相比传统的优化方式,能够自动识别问题SQL,生成索引优化建议,并在不引发锁表的情况下自动创建索引。
前提条件
目标数据库实例为:
数据库
地域
RDS MySQL高可用系列、三节点企业系列、集群系列
PolarDB MySQL版的集群版
说明暂不支持PolarDB MySQL版的单节点集群(原单节点实例)。
MyBase MySQL高可用版
华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华东5(南京)、华东6(福州)、西南1(成都)、郑州、中国(香港)、日本(东京)、韩国(首尔)、新加坡、马来西亚(吉隆坡)、印度尼西亚(雅加达)、菲律宾(马尼拉)、泰国(曼谷)、阿联酋(迪拜)、沙特(利雅得)、德国(法兰克福)、美国(硅谷)、美国(弗吉尼亚)和英国(伦敦)
RDS PostgreSQL
华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、华南3(广州)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、西南1(成都)、中国(香港)、日本(东京)、新加坡、马来西亚(吉隆坡)、印度尼西亚(雅加达)、菲律宾(马尼拉)、阿联酋(迪拜)、德国(法兰克福)、美国(硅谷)、美国(弗吉尼亚)和英国(伦敦)
目标数据库实例已开启SQL洞察,详情请参见SQL洞察。
说明自动SQL优化针对单条SQL进行优化。开启SQL洞察后,系统会对被优化的SQL及相关SQL进行性能跟踪,如果性能出现衰退,系统会自动回滚,避免创建的索引影响其他SQL的性能。未开启SQL洞察时,系统仅会对被优化的SQL进行性能跟踪,覆盖不够全面。因此,建议开启SQL洞察,以获得更全面的性能优化效果。
功能介绍
自动索引创建是DAS自动SQL优化功能的一种,其原理是使用MySQL内核原生支持的Online DDL,因此都不会像普通加索引那样引发锁表,详情请参见SQL优化技术。
功能限制
不支持对使用X-Engine表的SQL进行诊断和优化。
操作步骤
登录DAS控制台。
在左侧导航栏中,单击实例监控。
找到目标实例,单击实例ID,进入目标实例详情页。
在左侧导航栏中,单击自治中心。
在自治中心页,单击右侧自治功能开关。
在 页签中,打开自治功能开关,并在优化和限流页签勾选自动索引创建和删除。
若选择仅SQL诊断:对SQL进行每日定时诊断并得到索引优化建议,但不会将索引创建到您的实例上。
若选择SQL诊断并自动索引创建:对SQL进行每日定时诊断并得到索引优化建议,并将索引创建到您的实例上。
说明DAS将在数据库实例的可维护时间段或可维护窗口内创建索引。
单击确定。
配置告警模板进行告警订阅,以便及时了解数据库实例的自动SQL优化情况。
系统会推荐告警模板并添加对应自治事件的告警规则,您可以依照系统提示进行配置。
选择需要告警通知的告警联系组。
单击添加联系人,添加新的告警联系人。
单击新增联系组,添加新的告警联系组。
单击目标联系人后的修改或移除,修改或删除已有联系人的信息。
详细操作请参见管理告警联系人。
单击提交配置,并在弹出的对话框中确认告警配置。
后续步骤
在自治中心页面,可以查看选定时间范围内发生过的自动SQL优化事件。
单击详情,在慢SQL诊断(诊断优化)的根因分析和建议页签里查看问题SQL和SQL优化,以及SQL优化的索引推荐和语句优化的详细信息。
相关文档
如果您需要手动优化目标SQL时,请参见SQL优化。
相关API
API | 描述 |
批量开启、修改或关闭自动SQL优化功能。 | |
查询DAS自动SQL优化产生的诊断建议。 | |
获取指定时间段内自动SQL优化任务的统计数据,包括任务总数和最大收益等。 |