当某些行具有空值时,应如何索引日期列?
我们必须在日期范围和行日期之间选择行.
原文链接:/oracle/205513.html我们必须在日期范围和行日期之间选择行.
我们使用Oracle 9.2及更高版本.
我找到的选项
>在日期列上使用位图索引
>使用date列上的索引和状态字段上的索引,当日期为null时,该值为1
>使用date列上的索引,另一个不为null列
我对选择的想法是:
到1:表必须有许多不同的值来使用位图索引
到2:我必须为此目的添加一个字段,并在我想要检索空日期行时更改查询
到3:锁难以将一个字段添加到不是真正需要的索引
这种情况最好的做法是什么?
提前致谢
我读过的一些信息:
Oracle Date Index
When does Oracle index null column values?
编辑
我们的桌子有30万条记录.每天插入和删除1,000到10,000条记录. 280,000条记录具有null的delivery_at日期.这是一种采摘缓冲区.
我们的结构(翻译成英文)是:
create table orders ( orderid VARCHAR2(6) not null,customerid VARCHAR2(6) not null,compartment VARCHAR2(8),externalstorage NUMBER(1) default 0 not null,created_at DATE not null,last_update DATE not null,latest_delivery DATE not null,delivered_at DATE,delivery_group VARCHAR2(9),fast_order NUMBER(1) default 0 not null,order_type NUMBER(1) default 0 not null,produkt_group VARCHAR2(30) )