1- disable the _optimizer_compute_index_stats by setting false

2- create the index

3- gather stats with analyze index compute statistics

4- drop index

5- create index again

6- gather statistics with dbms_stats.gather_index_stats(username,indexname)

What I see on trace is dbms_stats using different sqls then compute stats but populate dba_indexes with same values at the end. Documentation of dbms_stats also says “estimate_percent : Percentage of rows to estimate (NULL means compute).”

I think dbms_stats might differ when it comes to partitioned indexes but it needs more testing which I am not able to do now.

]]>Actually that change is my reason to ask. What I want to be sure is if compute stats any different than dbms_stats.gathar_index_stats and if it is which one is used default for index creation ?

]]>Is there a difference between (or is there any possibility second one can behave different) ;

create index ix_t1_n1 on t1(n1)

and

create index ix_t1_n1 on t1(n1) compute statistics

I could not find additional/different work in 10046 trace for both operation and also data in user_indexes are same.

]]>Glad to hear the results of your poll. (And sorry to read about the impact of * your presentation on stats*)