| 指令 | 功能 | 輸出重點 |
|---|---|---|
SET AUTOTRACE ON EXPLAIN | 顯示執行計劃 | Operation、Options、Object Name、Cost、Cardinality、Bytes |
SET AUTOTRACE ON | 顯示執行統計 | Recursive calls、DB block gets、Consistent gets、Physical reads、Redo size、Sorts (memory/disk)、Rows processed |
SET AUTOTRACE TRACEONLY | 僅顯示計劃/統計,不回傳資料列 | 適合大結果集測試 |
ORDERED/RULE Hint 縮短TABLE ACCESS FULL → 全表掃描INDEX RANGE SCAN / UNIQUE SCAN → 索引存取NESTED LOOPS / HASH JOIN / MERGE JOIN → 連接方法SORT ORDER BY / SORT GROUP BY → 排序操作
-- Session 級
ALTER SESSION SET SQL_TRACE = TRUE;
-- 或
EXEC DBMS_SESSION.SET_SQL_TRACE(TRUE);
-- Instance 級(慎用)
ALTER SYSTEM SET SQL_TRACE = TRUE;
tkprof ora_sid_ora_12345.trc output.txt EXPLAIN=scott/tiger SYS=NO SORT=PRSNT,EXECNT,FCHCNT
SORT 選項:PRSNT(剖析 CPU)、EXECNT(執行 CPU)、FCHCNT(擷取次數)
SET AUTOTRACE ON EXPLAIN 快速看計劃,識別 Full Scan、高 CostSET AUTOTRACE ON 看統計,確認 Physical Reads、Disk SortsSQL_TRACE → TKPROF 深度分析「不僅能寫出 SQL,更能打造執行迅速的 SQL。」
AUTOTRACEDBMS_XPLAN.DISPLAY_CURSOR 獲取實際執行計劃(含 Bind Variable Peeking)掌握 AUTOTRACE 與 TKPROF,讓 SQL 效能優化從「憑感覺」進化為「憑數據」。