【发布时间】:2011-11-12 15:55:56
【问题描述】:
我有一个表,它基本上是一个带有列parent_id 和id 的树结构。
parent_id 是 null 对于根节点。
还有一个自引用外键,这样每个parent_id都有一个对应的id。
此表主要是只读的,并且大多不经常批量更新。
访问此表的应用程序最常见的查询之一是select ... where parent_id = X。我认为如果此表是在parent_id 上组织的索引,这可能会更快。
但是,如果parent_id 可以是null,我不确定如何索引组织此表。我宁愿不要捏造东西,让parent_id=0 是一些特殊的 id,因为我必须向表中添加虚拟值以确保满足外键约束,并且它还会更改应用程序逻辑。
有没有办法通过可能的null 值列来索引组织表?
【问题讨论】:
-
如果我是你,我会选择 0 虚拟值。
标签: oracle indexing query-optimization