首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化Teradata中没有易失性表的巨大值列表

优化Teradata中没有易失性表的巨大值列表
EN

Stack Overflow用户
提问于 2015-11-04 12:07:59
回答 1查看 618关注 0票数 2

有一个价值列表,如`

代码语言:javascript
复制
`where a.c1 in ( list ) `

然后,将列表推入易失性表是最好的出路。然而,这是通过cognos & IBM完成的,它不够聪明,不足以知道Teradata的易失性表是什么。我希望是这样,所以我可以使用排除逻辑存在来遍历易失性的表内容。因此,没有易失性表,我有一个值列表where a.c1 in ( list ),它的值类似于5K值。把这份清单保存在报告中是很昂贵的。我想知道,在把这类清单放在报告中之前,是否有可能把它放在某个地方。如果CTE和使用存在于CTE上,那会取得类似的收益吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-04 12:57:01

您可以将列表作为字符串传递,然后将其拆分为一个表,例如,对于一个整数列表:

代码语言:javascript
复制
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 
 )

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33521496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档