I am attempting to implement partition pruning on an 8.1.7.0.1 database running on SuSE Linux Professional 7.0. However the optimizer is choosing not to recognise the partitions. I have verified that the optimizer_mode=choose and also I've have analyzed the partitioned tables (compute not estimate statistics) but this seems to make no difference. I even tried this simple example:
========================================
drop table cb_test;
create table cb_test (id number(5), part number(5), texte varchar2(50))
PARTITION BY RANGE ( part)
(PARTITION part_q1 VALUES LESS THAN ( 1000 ),
PARTITION part_q2 VALUES LESS THAN ( 2000),
PARTITION max values less than (maxvalue));
BEGIN
FOR I in 1 .. 99999 LOOP
INSERT INTO cb_test VALUES (i, i, to_char(i)||'TOTO');
END LOOP;
END;
/
analyze table cb_test compute statistics;
explain plan set statement_id = 'bsw' for
select * from cb_test where part = 500;
select operation, options, object_name
from plan_table
where statement_id = 'bsw';
========================================
The output is as follows:
========================================
Table dropped.
Table created.
PL/SQL procedure successfully completed.
Table analyzed.
Explained.
OPERATION OPTIONS OBJECT_NAME
------------------------------ ------------------------------ ------------------------------
SELECT STATEMENT
TABLE ACCESS FULL CB_TEST
SELECT STATEMENT
TABLE ACCESS FULL CB_TEST
SELECT STATEMENT
TABLE ACCESS FULL CB_TEST
SELECT STATEMENT
TABLE ACCESS FULL CB_TEST
========================================
My database is not running parallel query, but my understanding is that this should make no difference. Could anybody out there offer any advice? Has anyone managed partition pruning without parallel query?
Thanks for the advice. It turned out that it was doing the pruning after all, it just wasn't appearing to in my explain plan query. I discovered this with sql_trace. The Tkprof output showed that the full table scan stopped and started at partition 1! Looks like paralell query is not mandatory for partition pruning to work.
Bookmarks