Statements that get transformed by the database using the star transformation result in dynamic pruning. For example:
SQL> explain plan for select p.prod_name, t.time_id, sum(s.amount_sold) from sales s, times t, products p where s.time_id = t.time_id and s.prod_id = p.prod_id and t.fiscal_year = 2000 and t.fiscal_week_number = 3 and p.prod_category = 'Hardware' group by t.time_id, p.prod_name; Explained. SQL> select * from table(dbms_xplan.display); PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------------ Plan hash value: 4020965003 ------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Pstart| Pstop | ------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 79 | | | | 1 | HASH GROUP BY | | 1 | 79 | | | |* 2 | HASH JOIN | | 1 | 79 | | | |* 3 | HASH JOIN | | 2 | 64 | | | |* 4 | TABLE ACCESS FULL | TIMES | 6 | 90 | | | | 5 | PARTITION RANGE SUBQUERY | | 587 | 9979 |KEY(SQ)|KEY(SQ)| | 6 | TABLE ACCESS BY LOCAL INDEX ROWID| SALES | 587 | 9979 |KEY(SQ)|KEY(SQ)| | 7 | BITMAP CONVERSION TO ROWIDS | | | | | | | 8 | BITMAP AND | | | | | | | 9 | BITMAP MERGE | | | | | | | 10 | BITMAP KEY ITERATION | | | | | | | 11 | BUFFER SORT | | | | | | |* 12 | TABLE ACCESS FULL | TIMES | 6 | 90 | | | |* 13 | BITMAP INDEX RANGE SCAN | SALES_TIME_BIX | | |KEY(SQ)|KEY(SQ)| | 14 | BITMAP MERGE | | | | | | | 15 | BITMAP KEY ITERATION | | | | | | | 16 | BUFFER SORT | | | | | | | 17 | TABLE ACCESS BY INDEX ROWID| PRODUCTS | 14 | 658 | | | |* 18 | INDEX RANGE SCAN | PRODUCTS_PROD_CAT_IX | 14 | | | | |* 19 | BITMAP INDEX RANGE SCAN | SALES_PROD_BIX | | |KEY(SQ)|KEY(SQ)| | 20 | TABLE ACCESS BY INDEX ROWID | PRODUCTS | 14 | 658 | | | |* 21 | INDEX RANGE SCAN | PRODUCTS_PROD_CAT_IX | 14 | | | | ------------------------------------------------------------------------------------------------------ Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("S"."PROD_ID"="P"."PROD_ID") 3 - access("S"."TIME_ID"="T"."TIME_ID") 4 - filter("T"."FISCAL_WEEK_NUMBER"=3 AND "T"."FISCAL_YEAR"=2000) 12 - filter("T"."FISCAL_WEEK_NUMBER"=3 AND "T"."FISCAL_YEAR"=2000) 13 - access("S"."TIME_ID"="T"."TIME_ID") 18 - access("P"."PROD_CATEGORY"='Hardware') 19 - access("S"."PROD_ID"="P"."PROD_ID") 21 - access("P"."PROD_CATEGORY"='Hardware') Note ----- - star transformation used for this statement
Oracle Database SQL Tuning Guide for more information about EXPLAIN PLAN
and how to interpret it