CREATE TABLE T_USER_TAB
(
ID
INTEGER
NOT NULL,
A VARCHAR(200),
B
VARCHAR(200),
C
VARCHAR(200),
D
VARCHAR(200),
FLAG INTEGER
)
这个表里有1百万条数据,
select id,a,b,c,d,efromT_USER_TAB where ROWNUM <= 200 and (FLAG= 0 or FLAG is null) order by ID
而且表里大部分是数据都FLAG是1,只有不会超过1百条是0或者null。请问这个索引怎么去建立啊?
Execution Plan
----------------------------------------------------------
0SELECT STATEMENT Optimizer=ALL_ROWS (Cost=5325 Card=8 Bytes=
建立Function Base index,B-Tree的
create index fbi_T_USER_TAB
on T_USER_TAB
decode(FLAG,0,0,null,0,null) ;
把查询改为
select id,a,b,c,d,e from T_USER_TAB where ROWNUM <= 200 and decode(FLAG,0,0,null,0,null) =0order by ID