首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SEMI JOIN on AWS Athena

SEMI JOIN on AWS Athena
EN

Stack Overflow用户
提问于 2019-07-07 14:15:26
回答 1查看 389关注 0票数 0

我想知道是否有一种方法可以在AWS雅典娜上使用SEMI JOIN (管理预装)。我想尝试减少扫描的数据/提高查询性能。

在我的例子中,我知道join的一侧只有一行,我想如果有一种方法可以指示引擎……

EN

回答 1

Stack Overflow用户

发布于 2019-07-07 20:08:51

如果你发布了一个例子,说明你想要实现什么,以及它是如何扫描太多的,这将是很有帮助的。你的问题很宽泛,很难回答。

如果我没有理解错的话,我认为你可以通过这样做来实现你所指的东西:

代码语言:javascript
复制
SELECT *
FROM table1
WHERE something IN (SELECT something FROM table2 WHERE col1 = 'the thing' LIMIT 1)

但它是否会减少扫描的数据量取决于您的具体情况。上面查询背后的思想是,它确保雅典娜只扫描table2,直到它找到您想要加入的特定行。如果你不走运,它仍然会扫描整个表,因为它找不到值,或者值在最后。

您也可以使用… WHERE EXISTS (SELECT …,但根据this Presto issue的说法,它会被转换为连接,这可能意味着整个表都是用LIMIT读取的,而实际情况可能并非如此。

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

https://stackoverflow.com/questions/56919808

复制
相关文章

相似问题

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