Oracle中的covering index

11/11/2009来源:Oracle教程人气:2321

CSDN里的一个朋友问到了这个索引覆盖的概念。 这个概念很小的知识点,在我的论坛里有解释“”,不过作为Oracle版主,不能在回帖里加上网外的地址链接,所以这里在CSDN里帖上一份

比如有复合索引为3个字段:f1 + f2 + f3,请问:

1: select f1, f2, f3, f4 from table where f1 = 'XX' and f2 = 'XX'.
2: select f1, f2, f3 from table where f1 = 'XX' and f2 = 'XX'.

有人说1符合索引覆盖, 有人说只有2才符合, 请问哪个对?

Oracle中的covering index(应该翻译成覆盖索引)是指

http://www.inthirties.com/thread-458-2-1.html

# A covering index is an index, which includes all of the columns referenced in the query. So the creating covering index can imPRove performance because all the data for the query is contained within the index itself and only the index pages, not the data pages, will be used to retrieve the data. Covering indexes can bring a lot of performance to a query, because it can save a huge amount of I/O Operations.

从这个定义上讲,2符合,1不符合