![]() |
|
Archives of the TeradataForumMessage Posted: Mon, 22 Feb 2010 @ 13:51:12 GMT
Hi again: I hope someone can help with this: --THIS QUERY TAKES LESS THAN ONE MINUTE TO COMPLETE
SELECT * FROM
BDP_tABLAS.PCL_HIS_CONTRATOS WHERE fec_vigencia = 1091231;
--THIS OTHER QUERY IS ENDLESS
SELECT *
FROM BDP_tABLAS.PCL_HIS_CONTRATOS a
INNER JOIN BDD_TABLAS.FIN_BORRAR_1 B
ON (A.fec_vigencia = B.fec_vigencia );
--THIS OTHER QUERY IS ALSO ENDLESS
SELECT *
FROM BDP_tABLAS.PCL_HIS_CONTRATOS a
WHERE fec_vigencia IN (SELECT fec_vigencia
FROM BDD_TABLAS.FIN_BORRAR_1)
- The table BDP_tABLAS.PCL_HIS_CONTRATOS IS PARTITIONED LIKE THIS PARTITION BY RANGE_N(fec_vigencia BETWEEN DATE '2007-12-31' AND DATE '2020-01-01' EACH INTERVAL '1' DAY ) - The table BDD_TABLAS.FIN_BORRAR_1 has only one row with the date I want to use SELECT * FROM BDD_TABLAS.FIN_BORRAR_1; Result
Fec_vigencia
b 2009-12-31b
The first query goes to the right partition. It doesn't do the all-row scan. The second and the third one do the all-row scan. The thing is than I need to have the date in a field of a table like this because it can change. Is there a way to optimize the second or third query using the table FIN_BORRAR_1? Thanks a lot for any help!!
| ||||||||||||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
| Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||