在单个SQL查询中,查询可以从单个表中使用多少个索引?

时间:2014-03-31 22:46:15

标签: sql database oracle indexing

在oracle中,如果你有一个表,在3个不同的列上有3个索引。单个SQL语句可以从一个表中使用多少个索引?

1 个答案:

答案 0 :(得分:7)

可能三种都可以使用。甲骨文不太可能使用这三种,或者使用这三者都是有益的,但这是可能的。

Oracle使用所有三个索引的最简单方法是,如果我们讨论的是位图索引,它们被设计为组合,但实际上仅适用于数据仓库/ DSS情况,而不适用于OLTP系统。甲骨文也可以对标准进行实时转换。将b-tree索引转换为位图索引,以便在OLTP系统中对索引进行相同的组合,但这通常不是非常有效。

大多数情况下,如果您尝试创建适当的索引来调整OLTP系统中的查询,那么您需要构建单个复合索引,而不是在有多个列时创建单独的单列索引你想要过滤/加入。