Oracle 10g 預設啟用自動統計資訊收集,透過 Scheduler Job GATHER_STATS_JOB 每天 22:00 執行,僅分析資料變動超過 10% 的表。雖然機制合理,但特定場景下仍需手動控制。
SELECT owner, job_name, last_start_date, last_run_duration, next_run_date, comments
FROM dba_scheduler_jobs
WHERE comments LIKE '%statistics collection%';
EXEC DBMS_SCHEDULER.DISABLE('SYS.GATHER_STATS_JOB');
EXEC DBMS_SCHEDULER.ENABLE('SYS.GATHER_STATS_JOB');
關閉後,建議建立自訂的統計收集排程,依業務特性決定收集頻率與範圍,避免統計資訊過舊導致執行計畫劣化。