HANA表变量访问与列表访问SQLScript

2020-09-18 22:21发布

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

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


我有2个"类似" SQL选择,它们从列表中提取数据。 一些选择是相同的。 在2个sql选择之间," where"子句中的3个是相同的,并且两个子句中的另一个也不同。

1。 使用相似的where子句创建单个SQL,然后从Table Variable中选择不同的数据会更好吗?

2。 我有一个大问题:
从列表和变量表中选择时,性能是否有差异? 我似乎在网上找不到任何信息。

谢谢!

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

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


我有2个"类似" SQL选择,它们从列表中提取数据。 一些选择是相同的。 在2个sql选择之间," where"子句中的3个是相同的,并且两个子句中的另一个也不同。

1。 使用相似的where子句创建单个SQL,然后从Table Variable中选择不同的数据会更好吗?

2。 我有一个大问题:
从列表和变量表中选择时,性能是否有差异? 我似乎在网上找不到任何信息。

谢谢!

付费偷看设置
发送
2条回答
wang628962
1楼 · 2020-09-18 23:03.采纳回答

问题中的信息太少,无法提供答案。

SQL和SQLScript处理是一个非常复杂的功能,任何查询的最终执行计划都取决于许多因素(例如,实际查询约束,数据定义,数据分布,软件版本和配置...)。

为什么不发布SQL语句或SQLScript代码呢? 您还可以自己构建两个选项,并通过PlanViz检查生成的执行计划和性能特征,从而自己进行调查。

关于第二个关于"变量表"的问题,我假设您的意思是"表变量"。 文档解释了此概念。 定义表变量时,不会为数据创建某种类型的数据容器(不会为记录分配某种数组)。 相反,您声明变量的内容应为什么样。 然后,这些表变量以及标量变量,其他SQL命令和SQLScript操作将形成一种数据操作图。

在执行此"数据操作图"时,HANA会检查哪些部分实际进入结果集中,哪些部分在功能上相互依赖和/或可以并行运行。 然后才确定是否有任何表变量被"物化",即中间结果是否存储在内存中。

这意味着,当您声明表变量并对它执行SELECT时,HANA可能会将此SELECT解析为基本表,并在可能的情况下直接对表运行选择,否则就不需要中间结果集了。/p>

所有这些都在SQLScript文档,教程等中进行了说明,我强烈建议您阅读这些文档。

奄奄一息的小鱼
2楼-- · 2020-09-18 23:06

您好,感谢您的回复。 我当时在想一个更简单的问题。 我想知道使用1键访问HANA表是否具有与访问具有相同定义的表变量相同的性能。 感谢您的输入。

一周热门 更多>