http://aguppi.blogspot.com/2011/06/oracle-access-path.html
A sample table scan retrieves a random sample of data from a table. This access path is used when a statement's
FROM
clause includes the SAMPLE
clause or the SAMPLE
BLOCK
clause. To perform a sample table scan when sampling by rows (the SAMPLE
clause), Oracle reads a specified percentage of rows in the table. To perform a sample table scan when sampling by blocks (the SAMPLE
BLOCK
clause), Oracle reads a specified percentage of table blocks.Oracle does not support sample table scans when the query involves a join or a remote table. However, you can perform an equivalent operation by using a
CREATE
TABLE
AS
SELECT
query to materialize a sample of an underlying table. You then rewrite the original query to refer to the newly created table sample. Additional queries can be written to materialize samples for other tables. Sample table scans require the CBO.Example 1-13 uses a sample table scan to access 1% of the
employees
table, sampling by blocks.Example 1-13 Sample Table Scan
SELECT * FROM employees SAMPLE BLOCK (1);
The
EXPLAIN
PLAN
output for this statement might look like this:------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| ------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 68 | 3 (34)| | 1 | TABLE ACCESS SAMPLE | EMPLOYEES | 1 | 68 | 3 (34)| -------------------------------------------------------------------------