全部產品
Search
文件中心

ApsaraDB RDS:自動SQL最佳化

更新時間:Jun 21, 2024

當資料庫出現慢SQL或SQL的執行效率對應用程式的運行效率產生較大影響時,您需要對SQL進行最佳化。資料庫自治服務DAS支援自動SQL最佳化,相比傳統的最佳化方式,能夠自動識別問題SQL,產生索引最佳化建議,並在不引發鎖表的情況下自動建立索引。

前提條件

執行個體為如下版本:

  • RDS MySQL 8.0 高可用系列、三節點企業系列或叢集系列

  • RDS MySQL 5.7 高可用系列、三節點企業系列或叢集系列

  • RDS MySQL 5.6 高可用系列

  • RDS MySQL 5.5 高可用系列

說明

當慢SQL最佳化完成後,可能會出現全域效能變差的問題,為了提升SQL自動最佳化的準確率,建議開啟SQL洞察和審計

功能介紹

DAS在自動建立索引時,使用MySQL核心原生支援的Online DDL,因此不會像普通索引添加那樣引發鎖表,詳細資料請參見SQL最佳化技術

功能限制

不支援對使用X-Engine表的SQL進行診斷和最佳化。

操作步驟

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
  2. 進入自治功能管理頁面,可以通過以下兩種方式進入:

    • 在左側導覽列中,選擇自治服務 > 一鍵診斷 > 自治中心。在自治中心頁,單擊自治功能開關

    • 在左側導覽列中,選擇自治服務 > 效能趨勢。在效能趨勢頁,單擊自治功能開關

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

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

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

      說明

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

  4. 單擊確定

後續步驟

您可以在自治中心頁面,查看選定時間範圍內發生過的最佳化事件

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

相關文檔

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

相關API

API

描述

UpdateAutoSqlOptimizeStatus

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

GetSqlOptimizeAdvice

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

GetInstanceSqlOptimizeStatistic

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