Wednesday, December 16, 2015

EXADATA Smart Scan Overview

n  Table and Index scans: Scans are performed inside Exadata Storage rather than transporting all data to database server.
n  Predicate Filtering: Only requesting rows are returned to the database server rather than all rows in a table.
n  Column Filtering: Only requested columns are returned to the database server rather than all table columns.
n  Join Filtering: Join processing using Bloom Filters are offloaded to exadata server.
n  Smart scan can also be applied to encrypted and compressed data.

Smart Scan Requirements:
Smart Scan optimization is a run time decision. Smart scan is not governed by optimizer, but it is influenced by results of query optimization.

n  Query specific requirements
---- Smart Scan is only possible for Full Table or Index scans
---- Can be used only for direct path reads. (A direct read is a physical I/O from a data file that bypasses the buffer cache and reads the data block directly into process-private memory.)
n  Additional general requirements
--- Smart Scan must be enabled with in database. CELL_OFFLOAD_PROCESSING parameter controls smart scan. Default value is TRUE. Can be set dynamically using alter session or alter system.
---- Each segment being scanned must be on a disk group that is completely stored on exadata cells.


Situations Preventing Smart Scan

n  Scan on clustered table
n  Scan on Index Organized Table.
n  Fast Full Scan on Compressed Index
n  Fast Full scan on a reverse key index
n  More than 255 columns are referenced by query.

n  Optimized wants to scan to return rows in ROWID order.