日期:2014-05-16 浏览次数:20390 次
使用索引快速全扫描(Index FFS)避免全表扫描(FTS)
(文档 ID 70135.1)
什么使用使用Index FFS比FTS好?
Oracle 8的Concept手册中介绍:
1. 索引必须包含所有查询中参考到的列。
2. Index FFS只能通过CBO(Index hint强制使用CBO)获得。
3. Index FFS使用hint:/*+ INDEX_FFS() */。
Index FFS是在7.3中引入的。在Oracle 7中,它要求初始化参数V733_PLANS_ENABLED的值需要是TRUE。
Index FFS将会扫描索引的全部块。返回的数据不会存储。Index FFS能够使用多块IO读,可以并行执行,就像全表扫描那样。
实例:
使用Oracle 8.0.5中标准的emp和dept表(可以使用UTLSAMPL.SQL创建),不建立任何表的统计数据或索引。使用autotrace产生执行计划。
准备工作:创建一个复合索引
create index emp_ix on emp(empno, deptno, ename);