OceanBase SQL 調(diào)優(yōu)基本流程

2021-06-30 11:48 更新

在 SQL 調(diào)優(yōu)中,針對(duì)慢 SQL 的分析步驟如下:

  1. 通過(guò)全局 SQL 審計(jì)表 (g)v$sql_audit、 SQL Trace 和計(jì)劃緩存視圖查看 SQL 執(zhí)行信息,初步查找 SQL 請(qǐng)求的流程中導(dǎo)致耗時(shí)或消耗資源(如內(nèi)存、磁盤(pán) IO 等)的 SQL。請(qǐng)參見(jiàn)示例 查詢某段時(shí)間內(nèi)執(zhí)行時(shí)間排名 TOP N 的請(qǐng)求
  2. 單條 SQL 的執(zhí)行性能往往與該 SQL 的執(zhí)行計(jì)劃相關(guān),因此,執(zhí)行計(jì)劃的分析是最重要的手段。通過(guò)執(zhí)行 EXPALIN 命令查看優(yōu)化器針對(duì)給定 SQL 生成的邏輯執(zhí)行計(jì)劃,確定可能的調(diào)優(yōu)方向。請(qǐng)參見(jiàn)示例 查看執(zhí)行計(jì)劃形狀并做分析。關(guān)于執(zhí)行計(jì)劃的詳細(xì)信息請(qǐng)參考 SQL 執(zhí)行計(jì)劃簡(jiǎn)介。
  3. 找到具體的慢 SQL,為了使某些 SQL 的執(zhí)行時(shí)間或資源消耗符合預(yù)期,常見(jiàn)的優(yōu)化方式如下:
  • 對(duì) SQL 做等價(jià)改寫(xiě)生成最佳執(zhí)行計(jì)劃,詳細(xì)信息請(qǐng)參見(jiàn) 查詢改寫(xiě)。針對(duì)多表訪問(wèn)的 SQL,還需要關(guān)注多表間的聯(lián)接問(wèn)題,通過(guò)優(yōu)化訪問(wèn)路徑、聯(lián)接順序和聯(lián)接算法等實(shí)現(xiàn)查詢優(yōu)化。詳細(xì)信息請(qǐng)參見(jiàn) 訪問(wèn)路徑、 聯(lián)接算法聯(lián)接順序。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)