报告级别的外部联接绩效问题

2020-09-26 20:24发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, SAP Cryst...

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

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


大家好,

SAP Crystal报告版本:2008。

问题描述:当我们在2列上有2个不同的数据库表联接时,报告级别的外部联接性能问题

影响:查询花费了大约4分钟的时间,但作为生产现有报告的时间应该是30秒

受影响的用户数:350

预先感谢

Priyanka。

3条回答
95年老男孩
2020-09-26 21:08

嗨Abhilash,

感谢回复。

让我简要介绍一下这个问题。

我有3个命令查询,一个来自db2数据库,两个来自sql dabase

db2表已与sql table1联接,而同一db2表已与其他sql table2联接,因此我可以在show sql查询中看到两个外部联接

但是根据我的要求,我已经在sql table2中添加了rno列,并尝试在add命令中添加该查询,但是它不允许我,并且在粘贴我的查询之后,在add命令中没有加入条件并给出了链接 报表中的db2表和sql table2。 报告工作正常。 但是似乎在修改后的报表中创建了一个额外的外部联接,但是由于我们现有产品报告中的WHERE子句,实际查询中没有该外部联接。

通过其他外部连接,报告花费了大约4分钟的时间,但应该是30秒。

现有sql table2命令查询:

SELECT * from table2
WHERE Table2.ID = {?DSNOGW01:db2.PROCESS_ID}和" Table2"。" Unit_ID" = {?DSNOGW01:db2.UNIT_NO}

修改后的查询:

SELECT * from(选择Table2。*,row_number()到(Table2中按process1_ID asc划分的column1,coulmn2,column3,column4,column5顺序)rno)E WHERE E.rno = 1
EXTERNAL JOIN Table2 .ID = {?DSNOGW01:db2.PROCESS_ID}和" Table2"。" Unit_ID" = {?DSNOGW01:db2.UNIT_NO}

我想将where子句与修改后的查询中的更改放在一起,但不能。

我非常感谢Priyanka和Abhilash将此问题向前推进。

一周热门 更多>