如何处理具有NULL值的索引列?

时间:2015-03-18 07:45:31

标签: informix

Informix-SE 4.10,7.32和IDS 11.70:我在DATETIME YEAR TO FRACTION列上有一个索引,我最近将其作为时间戳添加到一个约800K行的表中。当用户更新或添加新行时,将填充此列。到目前为止,~7K行具有DATETIME值,但其余为NULL。在查询,更新和排序时,SE和IDS如何处理具有NULL值DATETIME列的行?这些行是否被忽略?索引的原因是支持查询以使用“select max(datetime_col)”语句查找最近添加或更新的行。此列的降序索引是否会提供更好的性能?

1 个答案:

答案 0 :(得分:2)

按降序排序NULLS将是最后一个,升序(默认)将位于顶部。

但它的处理方式取决于您过滤数据的方式。

您无法将NULL与值进行比较,它始终为false。

因此,如果在该表中尝试获取日期大于CURRENT的所有行,则NULL中的列将不会被提取。

如果您尝试获取日期小于CURRENT的所有行,则在类似的地方,NULL中的列将不会被提取。

您想要的是IS NULLIS NOT NULL

进行测试