When to Gather Stats in Oracle?
You Should Gather Statistics Periodically for Objects Where the Statistics Become Stale over Time Because of Changing Data Volumes or Changes in Column Values...
You should gather statistics periodically for objects where the statistics become stale over time because of changing data volumes or changes in column values. New statistics should be gathered after a schema object's data or structure are modified in ways that make the previous statistics inaccurate.
When should we gather stats in Oracle?
Whenever the data changes "significantly". If a table goes from 1 row to 200 rows, that's a significant change. When a table goes from 100,000 rows to 150,000 rows, that's not a terribly significant change.
Will gather stats improve performance?
The dbms_stats utility is a great way to improve SQL execution speed. By using dbms_stats to collect top-quality statistics, the CBO will usually make an intelligent decision about the fastest way to execute any SQL query.