Avoiding full table scans
In this recipe, we will see what a full table scan is, how to avoid it, and when to choose a full table scan over other methods.
How to do it...
Let's start by creating two tables from the data in the SALES
table of the SH
schema:
- Connect to the
SH
schema:CONNECT sh@TESTDB/sh
- Create the
MY_SALES_ALL
table:CREATE TABLE sh.MY_SALES_ALL AS SELECT ROWNUM AS ID, X.* FROM sh.SALES X;
- Create the
MY_SALES_2
table:CREATE TABLE sh.MY_SALES_2 AS SELECT * FROM sh.MY_SALES_ALL NOLOGGING;
- Compute statistics on the tables we just created:
EXEC DBMS_STATS.GATHER_TABLE_STATS('SH', 'MY_SALES_ALL', estimate_percent => 100, method_opt => 'for all columns size 1'); EXEC DBMS_STATS.GATHER_TABLE_STATS('SH', 'MY_SALES_2', estimate_percent ...
Get Oracle Database 11gR2 Performance Tuning Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.