set echo on execute dbms_random.seed(0); drop table t1 / create table t1 as select rownum as id, trunc(7100 * dbms_random.normal) as normal, -- normal distribution of data trunc(dbms_random.value(0,50000)) as uniform -- uniform distribution of data from all_objects a,all_objects b where rownum <= 1000000 / create index idx_1 on t1(normal,uniform) / execute dbms_stats.gather_table_stats(user,'T1'); explain plan for select id from t1 where normal = 42 and uniform = 42 / @show_plan_9i drop index idx_1 / create index idx_1 on t1(normal,uniform) / execute dbms_stats.gather_table_stats(user,'T1'); explain plan for select id from t1 where normal = 42 and uniform = 42 / @show_plan_9i