hana sql脚本中的中间表变量性能

2020-09-14 13:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)除了使代码易于阅读(如果正确实现...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


除了使代码易于阅读(如果正确实现)之外,在hana sqlscript中使用表变量是否会对单个SQL语句产生特定的性能影响?

4条回答

没有可复制数据的代码示例实际上只是在谈论一些东西。 如果目标是弄清楚实际情况,那么不可避免的是要有完整的测试用例。

我当然可以为您提供我"认为","相信"和"假设"的内容,以及将在何种程度上影响性能,但是实际上可能会或可能不会。

如果可以的话,我的答复是

1)这些示例看起来像是无稽之谈。 如果是关于层次结构解析的,那么我建议改用HANA层次结构功能。 无论如何,此数据流图确实解析为一个执行的SELECT语句。 因此,在这里,除了使用SQLScript块引起的开销之外,我不会期望运行时特性有所差异。

2)SQLScript中的表变量不像您在其他编程语言中那样在"内存中的位置"。 相反,您可以将它们视为SQL块的"标签"(与普通SQL中的常用表表达式相比)。 在查询执行时,SQLScript解析标签并创建独立的数据流图-如果可能的话,这是有益的。 最终,执行的是SQL命令,以及这些命令是否创建中间结果集与表变量没有关系。
因此答案是否定的,表变量不会产生额外的运行时开销(但在不同的表之间处理数据 SQLScript块/过程/函数可能...)。

关于这些理论示例,我能说的很多。
到目前为止,针对不同客户项目的常见实践表明,使用表变量可以在很大程度上使代码更清晰,并可以识别出现性能问题的位置和原因。

一周热门 更多>