OceanBase 分析分布式計(jì)劃相關(guān)的查詢問題

2021-06-30 11:45 更新

分布式計(jì)劃根據(jù)以下步驟分析查詢問題:

  1. 通過查看 (g)v$plan_cache_plan_stat 視圖、(g)v$sql_audit 中對執(zhí)行計(jì)劃類型的記錄,確定是否為分布式計(jì)劃。

  2. 分析該執(zhí)行計(jì)劃是否正確。

  3. 通過 trace_id 關(guān)聯(lián)查詢 gv$sql_audit,查看所有執(zhí)行的子計(jì)劃耗時情況,每個子計(jì)劃的 RPC 執(zhí)行均對應(yīng)一條 sql_audit 記錄,分析該 sql_audit 記錄來定位問題。

如下例所示,is_executor_rpc = 1 表示子計(jì)劃執(zhí)行在 sql_audit 中記錄,主要記錄執(zhí)行相關(guān)的信息。is_executor_rpc = 0 表示接受 SQL 請求的線程在 sql_audit 中的記錄。該記錄含有 SQL 執(zhí)行過程的信息,包括 SQL 信息、獲取執(zhí)行計(jì)劃信息等。

obclient>SELECT/*+ PARALLEL(15)*/sql_id, is_executor_rpc, elapsed_time 
           FROM oceanbase.gv$sql_audit WHERE trace_id = 'YB420AB74FC6-00056349D323483A';

+----------------------------------+-----------------+--------------+
| sql_id                           | is_executor_rpc | elapsed_time |
+----------------------------------+-----------------+--------------+
|                                  |               1 |          124 |
|                                  |               1 |          191 |
|                                  |               1 |       123447 |
|                                  |               1 |          125 |
| 20172B18BC9EE3F806D4149895754CE0 |               0 |       125192 |
|                                  |               1 |          148 |
|                                  |               1 |          149 |
|                                  |               1 |          140 |
+----------------------------------+-----------------+--------------+
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號