INTERSECT 与 LEFT OUTER JOIN 性能
INTERSECT vs LEFT OUTER JOIN performance
我们正在使用 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 运算符的脚本视图哪种方法更好?
使用 HANA 1 SPS 12 完全可以使用 table 函数作为图形模型的一部分。
尝试模拟复杂的查询操作通常会降低性能和可维护性。
如果您的项目“不允许”使用 table 函数,答案必须是:修复该规则而不是产生扭曲的视图逻辑。
至于“外连接更快”——这本身是不正确的。内连接具有更严格的语义,因为它们必须在每种情况下执行,而外连接允许在结果集不受此影响的情况下避免连接的实际计算。这意味着当条件满足时,可以简单地避免外部连接,这当然比执行连接更快。
我们正在使用 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 运算符的脚本视图哪种方法更好?
使用 HANA 1 SPS 12 完全可以使用 table 函数作为图形模型的一部分。
尝试模拟复杂的查询操作通常会降低性能和可维护性。
如果您的项目“不允许”使用 table 函数,答案必须是:修复该规则而不是产生扭曲的视图逻辑。
至于“外连接更快”——这本身是不正确的。内连接具有更严格的语义,因为它们必须在每种情况下执行,而外连接允许在结果集不受此影响的情况下避免连接的实际计算。这意味着当条件满足时,可以简单地避免外部连接,这当然比执行连接更快。