2020-09-03 19:38发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们有一个Sap表MARD,记录... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们有一个Sap表MARD,记录数为13亿。
这里的数据来自站点,文章和位置(lgort)级别
Sloc是最低的粒度列。
所以我想为我当前正在使用该查询的每个站点获取一条记录
选择 site,matnr,min(lgort)sloc 来自MARD 其中lgort <>'1000';
此查询大约需要20分钟才能执行,并消耗200GB的内存。
除了聚合整个数据集之外,还有没有更好或更快速的方法来从表中获取单个站点,逐条显示的行?
对此应该有一个GROUP BY子句。 任何聚合都应使用GROUP BY将数据正确分组在一起。
选择 site,matnr,min(lgort)sloc 来自MARD lgort <>'1000' GROUP BY站点,matnr;
进行聚合时,我建议您将这种逻辑类型放入计算视图中,以便从该引擎中受益。
最后,您可能需要考虑在现场进行分区,也可以考虑在matnr进行分区。 请记住,如果该表没有分区,HANA的每个表限制为20亿行。 如果已分区,则每个分区的行数限制为20亿。 参见 SAP注释2212518 。
最多设置5个标签!
对此应该有一个GROUP BY子句。 任何聚合都应使用GROUP BY将数据正确分组在一起。
进行聚合时,我建议您将这种逻辑类型放入计算视图中,以便从该引擎中受益。
最后,您可能需要考虑在现场进行分区,也可以考虑在matnr进行分区。 请记住,如果该表没有分区,HANA的每个表限制为20亿行。 如果已分区,则每个分区的行数限制为20亿。 参见 SAP注释2212518 。
一周热门 更多>