【发布时间】:2015-11-25 06:30:42
【问题描述】:
这是一个简短的示例。我意识到我无法为每个可能的场景创建索引,但如果我想让我们的数据仓库减少到每个表 3-4 个索引,这里有一个示例问题。
如果我有一个包含 Product、State、ZipCode、DatePurchased 和 50 个其他列的表。 * 如果用户有时想按产品查询, * 然后有时按产品和状态 * 然后有时按 DatePurchased * 然后有时仅按州进行
我需要为这4个场景做一个索引吗?或者我可以做一个索引并包含所有这 4 个列,Oracle 会看到我只要求 where 子句中的一两个字段?
尤其是产品和状态,我是否创建一个索引并包含这两列?如果 where 子句只有 Product 会命中该索引吗?或者如果我只想要状态,它会达到那个索引吗?还是我需要一个单独的索引,一个用于产品,一个用于状态,一个用于产品和状态组合?
【问题讨论】: