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

bda*_*086 2 sql database oracle indexing

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

Jus*_*ave 7

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

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

大多数情况下,如果您尝试创建适当的索引来调整OLTP系统中的查询,则您希望构建单个组合索引,而不是创建单独的单列索引(如果有多个列要过滤/加入.