两个Date字段上的DB2 Index

时间:2013-11-21 15:16:11

标签: indexing db2

我是DB2的新手,我想用两个日期列的索引来支持我的查询:

WHERE (t0.start_date <= ? AND (t0.till_date > ? OR t0.till_date IS 
    NULL)) 

是否有一种放置索引的最佳方式,或者只是索引till_date?

第二个问题是我必须手动将索引放在外键列上吗?

最好的问候, 米

1 个答案:

答案 0 :(得分:2)

在多列索引中,最好将具有较高基数(大多数不同值)的列放在开头。在您的示例中,假设start_date永远不为空且till_date可以为null,那么最好在start_date, till_date上构建索引。

DB2不会自动为参照完整性约束创建索引。它需要父列上的唯一或主键约束,并且这些约束会自动创建索引,但您必须在子表上手动创建相应的索引。