![]() |
|
Archives of the TeradataForumMessage Posted: Tue, 14 Feb 2006 @ 20:04:33 GMT
First of all, apologies for the length of the mail. However, following the previous e-mail on this topic relating to forcing dynamic partition elimination by equijoining the big PPI table to a calendar table and filtering on the calendar table, I've done some testing but I'm afraid I'm none the wiser in terms of how to enforce best performance. Performance appears to relate not to whether you can enforce dynamic partition elimination but to whether the optimiser recognises your spool file of duplicated dates can join to one partition or all partitions and I must admit I'm a bit confused as to when this does happen and when it doesn't. (See examples below) For info, we have recently upgraded to V2R.05.01.02.23. Baseline - table without PPI
select big.prdid, big.txn_id from bigtable big, calendartable cal
where cal.txn_dte = big.txn_dte
and cal.txn_dte = DATE
Explain - does not use PPI, duplicates dates table, product joins to all partitions, 3 mins 24 secs, actual 1 minute 10 sec Tests - all against PPI table
select big.prdid, big.txn_id from bigtable_ppi big ,calendartable cal
where cal.txn_dte = big.txn_dte
and cal.txn_dte = DATE
Explain - uses PPI, spool joins to a single partition, enhanced by dynamic partition elimination, 8 seconds, actual 3 seconds
select big.prdid, big.txn_id from bigtable_ppi big ,calendartable cal
where cal.txn_dte = big.txn_dte
and cal.txn_dte = DATE - 7
Explain - uses PPI, spool joins to a single partition, enhanced by dynamic partition elimination, 8 seconds, actual 3 seconds
select big.prdid, big.txn_id from bigtable_ppi big, calendartable cal
where cal.txn_dte = big.txn_dte
and cal.txn_dte between 1060206 and 1060213;
Explain - Uses PPI, spool joins to a single partition, no dynamic partition elimination, explain 8 seconds, actual 12 seconds
select big.prdid, big.txn_id from bigtable_ppi big, calendartable cal
where cal.txn_dte = big.txn_dte
and cal.txn_dte between DATE - 7 and DATE;
Explain - Uses PPI, spool joins to all partitions, enhanced by dynamic partitioning, 8 seconds, actual 3 mins 58
select big.prdid, big.txn_id from bigtable_ppi big, calendartable cal
where cal.txn_dte = big.txn_dte
and cal.txn_dte between 1060206 and DATE;
Explain - uses PPI, spool joins to a single partition, no dynamic partition elimination, 8 seconds, actual 12 seconds
select big.prdid, big.txn_id from bigtable_ppi big, calendartable cal
where cal.txn_dte = big.txn_dte
and cal.txn_dte between 1060201 and DATE - 7;
Explain - uses PPI, spool joins to a single partition, no dynamic partition elimination, 8 seconds, actual 12 seconds
select big.prdid, big.txn_id from bigtable_ppi big ,calendartable cal
where cal.txn_dte = big.txn_dte
and cal.txn_dte between DATE - 7 and 1060213;
Explain - uses PPI, spool joins to all partitions, enhanced by dynamic partitioning, explain 7.65 seconds, actual 6 mins 29 secs Any views ? Regards, Alan Okell
| ||||||||||||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
| Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||