Teradata SQL CTE问题 - 执行时非常慢

时间:2015-01-14 04:43:41

标签: teradata common-table-expression with-statement

我有一个sql脚本如下:

-- Query 1
with 
    ult(col1,col2,col3,col4) as (
    select distinct  t1.col1,t1.col2,t1.col3,t1.col4
    from table1 as t1
      left join table2 as t2 on t1.Seq_Key=t2.Seq_Key
    where t2.index in 'myvalue')

-- Query 2
select distinct t1.col2,t2.col5,t3.col7
from table1 t1
where t1.col1 in (select col1 from ult)
and t1.col2 = (select col2 from ult)
and t1.col3 = (select col3 from ult)
and t1.col4 = (select col4 from ult)

所以基本上里面有两个查询,我想使用query1的查询结果作为查询2的条件。我试过只运行查询1,它将采取< 0.1秒,并且仅运行查询2(如果我手动将查询结果从查询1中删除),它将采用< 1秒。但如果我按上述方法合并,则需要几分钟才能执行! (约4-5分钟)。我很好奇,我不是这方面的专家。有没有人可以帮助解释发生了什么以及如何优化脚本?

非常感谢!

0 个答案:

没有答案