oracle通過(guò)執(zhí)行計(jì)劃優(yōu)化sql 如何改變oraclesql語(yǔ)句執(zhí)行計(jì)劃?
如何改變oraclesql語(yǔ)句執(zhí)行計(jì)劃?1. File->new->explain計(jì)劃窗口,并在窗口中執(zhí)行SQL以查看計(jì)劃結(jié)果。其中,成本代表CPU的消耗,單位為n%。基數(shù)表示執(zhí)行的行數(shù),相當(dāng)
如何改變oraclesql語(yǔ)句執(zhí)行計(jì)劃?
1. File->new->explain計(jì)劃窗口,并在窗口中執(zhí)行SQL以查看計(jì)劃結(jié)果。其中,成本代表CPU的消耗,單位為n%?;鶖?shù)表示執(zhí)行的行數(shù),相當(dāng)于行數(shù)。
2. 首先,對(duì)select*from tableA(其中paraa=1)執(zhí)行explain plan,然后從表(DBMS)中選擇*XPLAN.DISPLAY顯示)然后您可以看到Oracle的執(zhí)行計(jì)劃,結(jié)果與1中的相同,因此在使用該工具時(shí)建議使用方法1。
注意:PL/SQL開(kāi)發(fā)工具的命令窗口中不支持命令集AutoTrace on。通過(guò)使用工具方法查看計(jì)劃,我們還可以看到不完整的信息。有時(shí)我們需要sqlplus的支持。
2、執(zhí)行語(yǔ)句后,將顯示解釋計(jì)劃和統(tǒng)計(jì)信息。
這種說(shuō)法的優(yōu)點(diǎn)是缺點(diǎn)。使用此方法查看執(zhí)行時(shí)間較長(zhǎng)的SQL語(yǔ)句時(shí),需要等待語(yǔ)句成功執(zhí)行后才能返回執(zhí)行計(jì)劃,這大大增加了優(yōu)化周期。如果您不想執(zhí)行語(yǔ)句,只想獲取執(zhí)行計(jì)劃,可以使用:
SQL> set AutoTrace traceonly