【问题标题】:INTERSECT vs LEFT OUTER JOIN performanceINTERSECT 与 LEFT OUTER JOIN 性能
【发布时间】:2018-12-19 12:50:55
【问题描述】:

我们使用的是 SAP HANA 1.0 SPS12。 AS INTERSECT,MINUS,EXCEPT 节点在图形模式下不可用。我们需要依靠 LEFT OUTER JOIN 或者使用下面的方法-

https://blogs.sap.com/2014/03/02/thinking-in-hana-part-1-set-operators/

我有 10 亿行的卷表。

从性能的角度来看,谁能建议使用 LEFT OUTER JOIN 或通过 UNION 实现 INTERSECT 或使用带有 INTERSECT 运算符的脚本视图哪种方法更好?

【问题讨论】:

  • 你的意思是 100 Million (10e8) 行?
  • 您可以比较 left join + where col is null' to except, but intersect` 类似于 inner join。你到底想做什么?
  • @PatrickHonorez - 抱歉我的意思是 10 亿行
  • @dnoeth 我打算使用 left join + where column is not null 因为左连接在 HANA 中更快
  • 左连接在HANA中更快,比什么快?没有测试你怎么知道?

标签: sql database-performance query-performance hana


【解决方案1】:

在 HANA 1 SPS 12 中,将表函数用作图形模型的一部分是完全可以的。
尝试模拟复杂的查询操作通常会降低性能和可维护性。
如果您的项目“不允许”使用表函数,答案必须是:修复该规则而不是产生扭曲的视图逻辑。

至于“外部连接更快” - 这本身不是真的。内连接具有更严格的语义,因为它们必须在每种情况下都执行,而外连接允许在结果集不受此影响的情况下避免连接的实际计算。这意味着,当条件满足时,可以简单地避免外连接,这当然比执行连接要快。

【讨论】:

    猜你喜欢
    • 2010-09-29
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 2011-02-18
    • 2013-03-10
    相关资源
    最近更新 更多