當資料庫出現慢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最佳化。