Index Skip Scans

An index skip scan occurs when the initial column of a composite index is “skipped” or not specified in the query. Basically skip scanning lets a composite index be split logically into smaller sub-indexes, making every sub-index a viable candidate to be used by optimizer to come up with an efficient plan. The number of logical…

Index Fast Full Scans

Index Fast Full Scans are similar to Index Full Scans i.e they read index blocks in unsorted order, as they exist on disk.This scan does not use the index to probe the table, but reads the index instead of the table, essentially using the index itself as a table.

Index Full Scans

As the name suggests, Index Full Scans are Index Scans where the entire index is scanned in order. Following are the situations where optimizer chooses Index Full Scans:- A predicate references a column in the index. This column need not be the leading column. No predicate is specified and all columns in the table and…

Index Range Scans

Optimizer chooses Index Range Scans for selective queries which have bounded as well as unbounded data. Thus for every predicate clause having >,>=,<,<= condition on an indexed column, Oracle optimizer would go for Index Range Scans unless fetching large amount of data or unselective query which favours FTS. Following are the situations where optimizer chooses…

Index Unique Scans

Index Unique Scans returns at most 1 rowid, this means that whenever the condition in WHERE clause guarantees that only one row would be returned Oracle optimizer chooses Index Unique Scans. To summarize this, Index Unique Scan access path is used when all columns of a unique (B-tree) index or an index created as a…

Table Access by Rowid

Rowid is an internal representation of the storage location of data. The rowid of a row specifies the data file and data block containing the row and the location of the row in that block. Locating a row by specifying its rowid is the fastest way to retrieve a single row because it specifies the…

Direct Path Reads

This is another post in the series where we would be sharing the brief about Access Paths chosen by the optimizer and the situations where it would prefer to choose that Access Path. In Direct Path Read, the server process reads the data block from disk directly into process-private memory i.e. PGA bypassing the SGA.…