全部產品
Search
文件中心

ApsaraDB for OceanBase:查看 SQL 詳情

更新時間:Jul 01, 2024

SQL 詳情頁會根據不同的 SQL 診斷情況,選擇性展示對應 SQL 的文本、最佳化建議、採樣明細、診斷詳情、採樣歷史、執行歷史和執行計畫等資訊。

SQL 詳情

在 SQL 診斷中查看 SQL 的基本資料後,可以通過單擊 SQL 跳轉到 SQL 詳情頁面。根據不同的 SQL 情況,展示對應 SQL 的文本、最佳化建議、採樣明細、診斷詳情、採樣歷史、執行歷史和執行計畫等資訊。

SQL 文本

SQL 文本 地區,可以查看完整的 SQL 文本。此外,通過勾選 表結構,您可以查看對應表的結構資訊。

image

最佳化建議

說明

沒有最佳化建議時,該卡片不顯示。

最佳化建議 地區,可以查看診斷時間範圍內該 SQL 的所有問題及對應的最佳化建議。您可以按照系統給出的最佳化建議進行相關操作。目前存在兩種最佳化建議:

  • 計劃推薦: 分析該 SQL 最近 1 周的執行計畫,當發現某個執行計畫在 CPU 時間上比其他同類型(本地計劃或者分布式計劃)的執行計畫更優秀時,則會推薦使用者關注。當存在計劃推薦時,建議您詳細分析該計劃與現有執行計畫差異,並確定沒有 DDL 變更,再考慮進行綁定。綁定後請仔細觀察最佳化效果,如果沒有最佳化效果,請及時復原操作。

    計劃推薦的具體規則:計劃推薦根據最新執行計畫的 CPU 時間進行分檔考慮,當最新執行計畫 CPU 時間較小時,被推薦的候選計劃需要大幅度優於最新計劃才會推薦。 當最新執行計畫 CPU 時間較大時,被推薦的候選計劃則需要小幅度的優於最新計劃才會被推薦。

    最新計劃 CPU 時間

    候選計劃 CPU 時間

    [0-1) ms

    候選計劃為最新計劃 CPU 時間的 1/10

    [1-10) ms

    候選計劃為最新計劃 CPU 時間的 1/5

    [10-100) ms

    候選計劃為最新計劃 CPU 時間的 1/2

    [100-1000) ms

    候選計劃為最新計劃 CPU 時間的 2/3

    [1000- 無窮大)

    候選計劃為最新計劃 CPU 時間的 5/6

  • 索引推薦,會根據以下演算法進行:

    • 等值查詢列在前,以任意順序組合。

    • 如有範圍查詢,將選擇性最好的範圍查詢列放在等值查詢列後。

    • 如果沒有範圍查詢,當滿足消除排序條件時,將排序列放在等值查詢後。

    • 將謂詞中其他列放在索引後面,此時已是半寬索引。

    • 將 Select 中其他列放在索引後面,構造覆蓋索引。

    • 當覆蓋索引不超過 8 列時,會推薦覆蓋索引,否則會推薦半寬索引。

    • 當 CPU 時間超過 10ms 或回應時間超過 20ms 時才會進行索引推薦。

最佳化建議..png

SQL 診斷詳情

說明

沒有診斷詳情時,該卡片不顯示。

SQL 診斷詳情 地區,可以查看診斷時間範圍內出現同類型問題的次數以及最新一次診斷詳情,包括時間範圍、執行次數、CPU 時間和最後執行時間。單擊三角箭頭,可進一步查看診斷依據和問題排查建議。1

SQL 採樣明細

說明

僅 SlowSQL 詳情頁顯示 SQL 採樣明細資訊,其他類型的 SQL 詳情頁不顯示。

在 SQL 採樣明細中,您可查看當前 SQL 的具體採樣資訊。單擊 列管理,可設定需要展示的列並調整列的先後順序。單擊 匯出 可下載 SQL 採樣明細列表。

image

彙總 SQL 明細

說明

僅查看彙總 SQL 詳情頁時,會顯示彙總 SQL 明細。

彙總 SQL 明細 地區,您可查看所有相關的 SQL,預設展示 SQL 文本SQL ID資料庫 等列,以及展開後的錯誤資訊。

image

物理執行計畫

物理執行計畫 頁簽,非彙總 SQL 和彙總 SQL 的展示會有所區別。

非彙總 SQL 物理執行計畫

  • 展開 Plan Hash,查看對應的物理執行計畫詳情。

    在執行計畫詳情頁面中:

    • 查看執行步驟中運算元的具體應用過程和 Server 執行計畫。運算元的基礎介紹,請參見 SQL 執行計畫簡介

    • 將游標懸停在執行計畫的對象名稱上,可以查看錶結構或 DDL 索引資訊等。

      • 如果對象名稱是表,可以查看錶結構。image

      • 如果對象名稱是索引,可以查看 DDL 索引資訊等。image

  • 單擊 自訂時間,從下拉式清單中選擇 近 1 小時近 12 小時近 1 天 快速篩選查詢時間段。您也可以自訂查詢時間段,當前僅支援查詢最近 15 天的物理執行計畫。

  • 單擊 近 30 天綁定記錄,查看最近 30 天物理執行計畫的綁定記錄。

  • 單擊 重新整理 plan cache,確認後會清除租戶下該 SQL 的執行計畫緩衝,下次執行這個 SQL 的時候會重建執行計畫。

  • 單擊 綁定,確認後會強制 SQL 按該執行計畫執行。如果執行計畫處於綁定狀態,則會顯示 已綁定image

彙總 SQL 物理執行計畫

說明

SQL 彙總是將選定範圍內的相似的 SQL 彙總,選擇時間範圍不同包含的 SQL 列表也不相同。所以執行計畫是否綁定暫時無法顯示,請前往最佳化中心查看具體的 Outline 生效資訊以及操作歷史。

  • 展開 Plan Hash,查看對應的物理執行計畫詳情和彙總 SQL 明細。

    • 執行計畫詳情 頁簽:

      • 查看執行步驟中運算元的具體應用過程和 Server 執行計畫。運算元的基礎介紹,請參見 SQL 執行計畫簡介

      • 將游標懸停在執行計畫的對象名稱上,可以查看錶結構或 DDL 索引資訊等。

      • 如果對象名稱是表,可以查看錶結構。image

      • 如果對象名稱是索引,可以查看 DDL 索引資訊等。

    • 彙總 SQL 明細 頁簽,查看彙總 SQL 列表,包含 SQL 文本SQL IDimage

  • 單擊 自訂時間,從下拉式清單中選擇 近 1 小時近 12 小時近 1 天 快速篩選查詢時間段。您也可以自訂查詢時間段,當前僅支援查詢最近 15 天的物理執行計畫。

  • 單擊 綁定,確認後會強制 SQL 按該執行計畫執行。如果執行計畫處於綁定狀態,則會顯示 已綁定

SQL 執行歷史

SQL 執行歷史 頁簽,非彙總 SQL 和彙總 SQL 的展示會有所區別。

非彙總 SQL 執行歷史

您可以查看近 1 小時、近 12 小時、近 1 天或自訂時間範圍內的 SQL 執行歷史以及 SQL 相關的圖表。

  • SQL 執行歷史:可查看當前 SQL 陳述式的歷史執行資訊。

    • 單擊 全部節點,可選擇指定節點進行查看。

    • 單擊 自訂時間,從下拉式清單中選擇 近 1 小時近 12 小時近 1 天 進行查看。您也可以自訂時間,但是需要注意以下限制:

      • 僅支援查看最近 15 天的 SQL 執行歷史。

      • 最小範圍限定:

        • 3天內:選擇的時間範圍不少於 1 分鐘。

        • 3至7天內:選擇的時間範圍不少於 5 分鐘。

        • 超過7天:選擇的時間範圍不少於 20 分鐘。

    • 單擊右上方的 列管理,可勾選需要高頻查看的資訊。

    • 單擊 匯出,可下載 SQL 執行歷史列表。

      image

  • SQL 執行耗時:您可通過單擊右側類別選擇您要查看的執行耗時情況。

    image

  • 總執行次數:單擊 總執行次數 後的下拉式箭頭,選擇您想要查看的資料。

    image

彙總 SQL 執行歷史

您可以查看近 1 小時、近 12 小時、近 1 天或自訂時間範圍內的 SQL 執行歷史以及 SQL 相關的圖表。

  • SQL 執行歷史:可查看當前 SQL 陳述式的歷史執行資訊,單擊右上方的 列管理,可勾選需要高頻查看的資訊,單擊 匯出 可下載 SQL 執行歷史列表。

    image.png

  • 彙總 SQL 的圖表資料,可通過彙總 SQL 維度或者單一 SQL 維度分別查看,預設展示彙總 SQL 維度 SQL 執行耗時-CPU 時間總執行次數 圖表。

    • 彙總 SQL 維度統計了關聯 SQL 的整體資料。

      SQL 執行耗時:您可通過下拉選擇 總資料庫耗時平均耗時回應時間 等選項進行查看。

      image

      總執行次數:單擊 總執行次數 後的下拉式箭頭,選擇您想要查看的資料。

      image

    • 單一 SQL 維度預設展示 CPU 佔比前 10 的 SQL 資料,可通過提示篩選更多 SQL。

      SQL 執行耗時:您可通過下拉選擇 總資料庫耗時平均耗時回應時間 等選項進行查看。同時可以通過單擊 SQL ID 查看指定 SQL 的資訊。

      image

      總執行次數:單擊 總執行次數 後的下拉式箭頭,選擇您想要查看的資料。同時可以通過單擊 SQL ID 查看指定 SQL 的資訊。

      image

表資訊

在表資訊頁簽,您可以查看索引的相關資訊並進行索引綁定等操作。如果索引處於已綁定狀態,則會顯示 已綁定。此外,您還可以查看錶統計資訊。

image

進階設定

在進階設定頁簽,您可以進行如下操作:

  1. 開啟 限流 開關。

  2. 設定單個 OBServer 執行指定 SQL 的並發個數。綁定索引和限定並發數不能同時生效。

  3. 單擊 更新設定,您的設定將會即時生效。1