我有很多列的表,我的查詢是這樣的如何在oracle的列上進行索引是不是空值查詢?
select * from (select my_table_id from my_table where start_time_local>=?
and type_pk<>? and rule_pk=? and this_.name is not null order by start_time_gmt
desc) where rownum <= ?
如果我創建
(start_time_local, type_pk, rule_pk, name)
索引這將是低效的,因爲名字是一個varchar(1024)。有沒有指標更好的方法上是這樣的:
(start_time_local, type_pk, rule_pk, isNotNull(name))
感謝,
你確定索引是否合適?如果行在該列中有NULL,那麼百分比是多少?如果百分比很低,那麼oracle會無視這個索引。 – skaffman 2012-02-09 11:03:36