在没有易失性表的情况下优化Teradata中的巨大价值列表

时间:2015-11-04 12:08:00

标签: sql teradata volatile cognos query-tuning

有一个像`

这样的值列表
ToolStrip

然后在volatile表中推送列表是最好的方法。然而,这是通过cognos& amp; IBM并不聪明,不知道Teradata的易变性表是什么。 我希望它是这样我可以使用排除逻辑Exists来浏览易失性表格内容。 所以没有volatile表,我有一个值列表  32,32 它有5K的值。将该列表保留在报告中证明是昂贵的。我想知道是否可以在将此类列表存储到报告之前将其存储在某个位置。如何在CTE上存在CTE和使用,会获得类似的收益。

1 个答案:

答案 0 :(得分:3)

您可以将列表作为字符串传递,然后将其拆分为表格,例如获取整数列表:

where a.c1 in
 (
   SELECT CAST(token AS INT)
   FROM TABLE (STRTOK_SPLIT_TO_TABLE(1, '1,2,3,4,5,6,7,8,9,5000', ',')
        RETURNS (outkey INTEGER,
                 tokennum INTEGER,
                 token VARCHAR(10) CHARACTER SET UNICODE)
              ) AS dt 
 )

当然,优化器不知道返回的行数,所以最好检查一下解释......