廣州總校區(qū)切換校區(qū)
復(fù)制成功
微信號(hào):togogoi
添加微信好友, 詳細(xì)了解課程
已復(fù)制成功,如果自動(dòng)跳轉(zhuǎn)微信失敗,請(qǐng)前往微信添加好友
打開微信
圖片

行業(yè)新聞

怎么判斷sql語句執(zhí)行計(jì)劃是否正確

發(fā)布時(shí)間: 2023-02-22

當(dāng)在一條指令的執(zhí)行計(jì)劃中發(fā)現(xiàn)異常時(shí),通常會(huì)生成一個(gè)sqlrpt來查看所使用的執(zhí)行計(jì)劃是否正確。如何確定執(zhí)行計(jì)劃是否正確,由以下步驟決定:

1.首先,檢查SQL語句的結(jié)構(gòu),看連接是union、還是等值連接還是左、右連接,然后看連接中的表的數(shù)量。

2.檢查執(zhí)行計(jì)劃中包含異常的部分。

3.檢查表的索引和表是否是分區(qū)的,where條件中使用的索引列是否正確,統(tǒng)計(jì)分析表中的表的分析結(jié)果是否正確。

4.分析各表的使用情況和各表的日常數(shù)據(jù)增長(zhǎng)情況。

5.分析為什么會(huì)出現(xiàn)異常的執(zhí)行計(jì)劃。

追蹤執(zhí)行計(jì)劃的方法

(1) set autotrace on explain,只顯示查詢結(jié)果和執(zhí)行計(jì)劃。

set autotrace on statistic,只顯示查詢結(jié)果的統(tǒng)計(jì)數(shù)據(jù)。

set autotrace on 顯示前兩個(gè)

set autotrace traceonly 不顯示查詢結(jié)果,只顯示執(zhí)行計(jì)劃和統(tǒng)計(jì)數(shù)據(jù)

set autotrace off 關(guān)閉追蹤功能

要使用autotrace,必須在sqlplus中使用,并使用的是用戶sys。

(2) 你可以使用explain plan for  select   * from c_cons 來解析執(zhí)行計(jì)劃

然后通過select * from table(dbms_xplain.display(null,null,'outline',null)); 來顯示執(zhí)行計(jì)劃。

(3) 使用Toad for oracle工具,使用sql_id創(chuàng)建一個(gè)執(zhí)行計(jì)劃

怎么判斷sql語句執(zhí)行計(jì)劃是否正確

上一篇: 什么是網(wǎng)絡(luò)釣魚攻擊

下一篇: IDEA的文件夾類型介紹

<
在線咨詢 ×

您好,請(qǐng)問有什么可以幫您?我們將竭誠(chéng)提供最優(yōu)質(zhì)服務(wù)!