In
a FTS operation, the whole table is read up to the high water mark
(HWM). The HWM marks the last block in the table that has ever had data
written to it. If you have deleted all the rows then you will still read
up to the HWM. Truncate resets the HWM back to the start of the table.
FTS uses multiblock i/o to read the blocks from disk.
Method
for looking up a single key value via a unique index. always returns a
single value, You must supply AT LEAST the leading column of the index
to access data via the index.
查询条件中使用了唯一索引,总是返回一条数据。至少使用索引的前导列访问数据。
index range scan --
索引局部扫描
Index
range scan is a method for accessing a range values of a particular
column. AT LEAST the leading column of the index must be supplied to
access data via the index. Can be used for range operations (e.g. >
< <> >= <= between) .
Full
index scans are only available in the CBO as otherwise we are unable to
determine whether a full scan would be a good idea or not. We choose an
index Full Scan when we have statistics that indicate that it is going
to be more efficient than a Full table scan and a sort. For example we
may do a Full index scan when we do an unbounded scan of an index and
want the data to be ordered in the index order.
Scans
all the block in the index, Rows are not returned in sorted order,
Introduced in 7.3 and requires V733_PLANS_ENABLED=TRUE and CBO, may be
hinted using INDEX_FFS hint, uses multiblock i/o, can be executed in
parallel, can be used to access second column of concatenated indexes.
This is because we are selecting all of the index.
索引快速全局扫描,不带
order by
情况下常发生
index skip scan
Index
skip scan finds rows even if the column is not the leading column of a
concatenated index. It skips the first column(s) during the search.
索引跳跃扫描,
where
条件列是非索引的前导列情况下常发生。
3.Rowid
物理
ID
扫描
This is the quickest access method available.Oracle retrieves the specified block and extracts the rows it is interested in.
There are a number of different operations that promote sorts:
(1)
order by clauses
(2)
group by
(3)
sort merge join
排序,很消耗资源
。以上
三个操作会产生排序运算。
2.filter
--
过滤,如
not in
、
min
函数等容易产生
Has
a number of different meanings, used to indicate partition elimination,
may also indicate an actual filter step where one row source is
filtering, another, functions such as min may introduce filter steps
into query plans.
3.view
--
视图,大都由内联视图产生(
可能深入到视图基表)
When
a view cannot be merged into the main query you will often see a
projection view operation. This indicates that the 'view' will be
selected from directly as opposed to being broken down into joins on the
base tables. A number of constructs make a view non mergeable. Inline
views are also non mergeable.
eg: SQL> explain plan for
select ename,tot
from emp,(select empno,sum(empno) tot from big_emp group by empno) tmp
where emp.empno = tmp.empno;
Query Plan
------------------------
SELECT STATEMENT [CHOOSE]
**HASH JOIN
**TABLE ACCESS FULL EMP [ANALYZED]
**VIEW
****SORT GROUP BY
******INDEX FULL SCAN BE_IX
4.partition view
Partition
views are a legacy technology that were superceded by the partitioning
option. This section of the article is provided as reference for such
legacy systems.