全部產品
Search
文件中心

ApsaraDB for OceanBase:SQL 基本資料

更新時間:May 15, 2025

SQL 診斷功能旨在分析和診斷 TopSQL、SlowSQL 和可疑 SQL,協助您最佳化資料庫效能。

基本概念

SQL 診斷的基本概念如下:

  • TopSQL:是指在指定時間範圍內整體回應時間最長的 SQL 陳述式。

  • SlowSQL:是指執行時間超過 500ms 的 SQL 陳述式。

  • 可疑 SQL:是指根據規則、演算法篩選出的可能導致效能問題的 SQL 陳述式。

說明

目前,系統對標準版(Key-Value)叢集執行個體有如下限制:

  • 對於版本號碼大於等於 4.2.4 但小於 4.3.0 的 KV 叢集執行個體,支援顯示 TopSQLSlowSQL 的診斷資訊。

  • 對於其他版本的 KV 叢集執行個體,僅支援顯示 SlowSQL 的診斷資訊。

TopSQL

TopSQL 是指在指定時間範圍內整體回應時間最長的 SQL 陳述式。

  • 單擊快速篩選項,例如 全表掃描多分區掃描 等,快速識別出需要最佳化的 SQL。

  • 單擊 操作 列的 查看樣本,可以查看該 SQL 陳述式。

  • 在某個 SQL 的 操作 列單擊image,然後選擇 設定限流,可以設定限流。勾選多個 SQL 可以大量設定限流。image

  • 單擊 SQL 文本前的 +,查看 最後一次報錯統計時段內報錯匯總

  • 勾選列表右上方的 彙總 in 查詢,可按照彙總 in 展示 SQL,但不影響統計資料。勾選多個SQL(包括彙總 in 的 SQL)可以大量設定限流。

  • 單擊列表右上方的 查看最佳化建議,可跳轉至最佳化中心查看最佳化建議。

  • 單擊列表右上方的 TopSQL 對比,可以對比相同 SQL 在同一個節點的不同時段或在不同節點上的運行情況,以及單個 SQL 在不同時段或在不同節點上的運行情況。

    • 不同時段對比:將同一節點上相同 SQL 在基準和對比時段的運行情況進行對比分析,然後查看 詳細資料對比 和 效能趨勢對比 資訊。

    • 不同節點對比:將相同 SQL 在基準節點與其他節點的運行情況進行對比分析,然後查看 詳細資料對比回應時間趨勢對比 資訊。

    • 單 SQL 不同時段對比:將單 SQL 或彙總 SQL 在基準和對比時段的運行情況進行對比分析,然後查看 總資料庫耗時總執行次數 資訊。

    • 單 SQL 不同節點對比:將單 SQL 或彙總 SQL 在不同分析節點的運行情況進行對比分析,然後查看 總資料庫耗時總執行次數 資訊。

      說明
      • 相同 SQL 是指相同的資料庫和 SQL ID。

      • 當不同節點對比時,只有不同節點上執行相同 SQL 才會輸出結果。

      • 您也可以先輸入 SQL ID,然後在對應 SQL 的操作列選擇 ... > 單 SQL 對比 實現單 SQL 在不同時段和不同節點的對比分析。

  • 單擊列表右上方的 自訂欄,可以自訂您需要的其他指標。

    1. 在彈窗中,設定 列運算式,如 (@avgCpuTime * @avgDiskReads) / 2

    2. 填寫 列名

    3. 單擊 確定

  • 當發現某個節點 CPU 負載過高時,可以先篩選 資料庫節點,然後根據 CPU 時間 對 SQL 進行降序排序,從而識別出最需要最佳化的 SQL。image

SlowSQL

SlowSQL 是指執行時間超過 500ms 的 SQL 陳述式。

image

  • 單擊快速篩選項,例如 全表掃描多分區掃描 等,快速識別出需要最佳化的 SQL。

  • 單擊 操作 列的 查看樣本,可以查看該 SQL 陳述式。

  • 在某個 SQL 的 操作 列單擊image,然後選擇 設定限流,可以設定限流。勾選多個 SQL 可以大量設定限流。image

  • 勾選列表右上方的 彙總 in 查詢,可按照彙總 in 展示 SQL,但不影響統計資料。勾選多個SQL(包括彙總 in 的 SQL)可以大量設定限流。

  • 如需自訂慢 SQL 閾值,在列表右上方選擇 ... 修改 Slow SQL 閾值 。在彈窗中,修改 Slow SQL 閾值,然後單擊 確定 

可疑 SQL

可疑 SQL 是指根據規則、演算法篩選出的可能導致效能問題的 SQL 陳述式。以下是常見的診斷結果及處理建議:

診斷結果

處理建議

Hint 未生效

異常 SQL,需要 DBA 確認是否使用 OUTLINE 進行執行計畫固化。

全表掃描效能較差

請分析執行計畫和表結構,確認 SQL 有合適的索引可用。

走索引但效能比較低

請確認業務情境是否可以接受此效能,若不可接受請改進商務邏輯或最佳化索引。

效能比以前下降

請確認資料分布變化、請求量突漲、執行計畫變化等情況。

執行計畫變動且效能下降

需 DBA 確認,可使用 OUTLINE 進行執行計畫固化,以判斷是否為異常 SQL。

執行次數突刺

需確認業務量,可能導致整體效能下降。

CPU 負載過高

請確認業務情境、資料分布變化、請求量突漲、執行計畫變化等情況。

疑似鎖衝突

SQL 存在重試,可能是鎖衝突導致,請排查商務邏輯,是否存在鎖衝突情境。

DML 訪問過多分區數

請改寫 SQL,保證 SQL 能進行分區裁剪。

疑似 Buffer 表

請確認相關表是否在頻繁更新。

疑似存在大小帳號

請排查是否存在資料扭曲問題。

執行計畫不穩定

請排查是否存在計劃惡化的問題。

計劃產生時間過長

請排查是否存在計劃命中率低等問題。

可疑 SQL 頁簽展示了 SQL 文本SQL ID資料庫診斷結果 等資訊。

image