![]() |
|
Archives of the TeradataForumMessage Posted: Fri, 13 Oct 2006 @ 08:33:08 GMT
Hi All, I need some advice on "explain" queries. I have a big table in the database which was created as a PPI table. The partition is on the CREATED_DATE column. What I want to do is like following:
Select * from BIG_TABLE, BATCH_TABLE
where CRERATED_DATE = max(BATCH_TABLE.BATCH_DATE);
I explained the SQL above and found that the optimizer will not use the PPI for the join. So I changed it to:
.export data file /home/test_ppi.dat
select max(BATCH_DATE) from BATCH_TABLE;
.export reset
.import data file /home/test_ppi.dat
explain
using (ppi_date date)
Select * from BIG_TABLE
where CRERATED_DATE = :ppi_date
The result is: Next, we do an all-AMPs RETRIEVE step from a single partition of BIG_TABLE with a condition of (" BIG_TABLE = :ppi_date ") with a residual condition of ("BIG_TABLE = :ppi_date") into Spool 1 (all_amps), which is built locally on the AMPs. So my question is: does it do use the PPI as the explaination says? How could it use the PPI when it does not know the value of :ppi_date? Best regards, Ray
| ||||||||||||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
| Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||