全部產品
Search
文件中心

Database Autonomy Service:自動SQL最佳化

更新時間:Jul 27, 2024

當資料庫出現慢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進行診斷和最佳化。

操作步驟

  1. 登入DAS控制台

  2. 在左側導覽列中,單擊執行個體監控

  3. 找到目標執行個體,單擊執行個體ID,進入目標執行個體詳情頁。

  4. 在左側導覽列中,單擊自治中心

  5. 自治中心頁,單擊右側自治功能開關

  6. 自治功能管理 > 自治功能設定頁簽中,開啟自治功能開關,並在最佳化和限流頁簽勾選自動索引建立和刪除

    • 若選擇僅SQL診斷:對SQL進行每日定時診斷並得到索引最佳化建議,但不會將索引建立到您的執行個體上。

    • 若選擇SQL診斷並自動索引建立:對SQL進行每日定時診斷並得到索引最佳化建議,並將索引建立到您的執行個體上。

      說明

      DAS將在資料庫執行個體的可維護時間段可維護視窗內建立索引。

  7. 單擊確定

後續步驟

  1. 自治中心頁面,可以查看選定時間範圍內發生過的自動SQL最佳化事件。dd

  2. 單擊詳情,在慢SQL診斷(診斷最佳化)根因分析和建議頁簽裡查看問題SQLSQL最佳化,以及SQL最佳化索引推薦語句最佳化的詳細資料。ss

相關文檔

如果您需要手動最佳化目標SQL時,請參見SQL最佳化

相關API

API

描述

UpdateAutoSqlOptimizeStatus

批量開啟、修改或關閉自動SQL最佳化功能。

GetSqlOptimizeAdvice

查詢DAS自動SQL最佳化產生的診斷建議。

GetInstanceSqlOptimizeStatistic

擷取指定時間段內自動SQL最佳化任務的統計資料,包括任務總數和最大收益等。