| 模式 | 說明 | 適用場景 |
|---|---|---|
| RULE (RBO) | 基於規則,固定啟發式 | 舊系統、統計資訊缺失 |
| COST (CBO) | 基於成本,依統計資訊估算 | 現代系統、統計完整 |
| CHOOSE | 有統計用 CBO,無統計用 RBO | 預設值,易產生非預期計畫 |
建議: 明確指定 RULE 或 COST,避免 CHOOSE 導致不穩定計畫。使用 CBO 必須定期 ANALYZE 或 DBMS_STATS 更新統計。
SHARED_POOL_SIZE 越大,可快取越多 SQL,命中率越高-- 大小寫不同 → 不共享 SELECT * FROM EMP; select * from emp; -- 同義詞指向不同物件 → 不共享 -- User A: private synonym sal_limit → table A -- User B: private synonym sal_limit → table B SELECT max(sal_cap) FROM sal_limit; -- A/B 無法共享 -- 繫結變數名稱不同 → 不共享 SELECT pin FROM people WHERE pin = :blk1.pin; SELECT pin FROM people WHERE pin = :blk1.ot_ind;
V$SQLAREA、V$SQL_SHARED_CURSOR 分析未共享原因