uSelect查询需要很长时间

2020-09-18 19:49发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,IdM专家, 我想构建一...

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

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


您好,IdM专家,

我想构建一个可以通过UI任务(报告表单)触发的报告功能。 UI任务启动一个过程(类型:表单操作过程),该过程使用带有SQL查询的脚本从数据库中获取数据。 我正在使用内置的uSelect查询数据库。

SQL查询非常复杂,但是当我在MSSQL Server Management Studio中启动它时,它会在5秒钟内执行。 但是,当该过程执行查询时,需要花费一定的时间才能完成(3000-5000秒)。 我已使用不同的视图重写了查询,但没有帮助。

感谢您的帮助! 问候

佐尔坦

SAP IDM:8.0.4

这是查询的最新版本:

选择li.mcThisMSKEYVALUE作为用户名,en2.sval作为姓氏,en3.sval作为姓氏,en4.sval作为"显示名称",li.mcOtherMSKEYVALUE作为"角色ID",en5.sval作为"角色名称",en .mcMSKEYVALUE作为'管理单位',convert(varchar(20),li.mcValidFrom,20)作为'Valid from',convert(varchar(20),li.mcValidTo,20)作为'Valid to',convert(varchar( 20),mcAddedTime,20)作为``请求日期'',en6.sval作为发起方,REPLACE(REPLACE(REPLACE(li.mcReason,CHAR(13),''),CHAR(10),''),';';' ,':')作为'请求原因',convert(varchar(20),en7.mcDate,20)作为'批准日期',en7.mcResponsibleDisplayName作为批准者,REPLACE(REPLACE(REPLACE(en7.mcReason,CHAR(13) ),''),CHAR(10),''),';',':')作为'批准原因',convert(varchar(20),li.mcModifyTime,20)作为'分配日期',en8。 sval为'Inactive','lb'FROM [mxmc_db]。[dbo]。[idmv_link_ext] li WITH(NOLOCK)左连接[mxmc_db]。[dbo]。[idmv_entry_simple] en on li.mcContextMSKEY = en.mcMSKEY左连接 li.mcThisMSKEY = en2.M上的[mxmc_db]。[dbo]。[idmv_vna] en2 SKEY和en2.AttrName ='MX_FIRSTNAME'左连接[mxmc_db]。[dbo]。[idmv_vna] en3 on li.mcThisMSKEY = en3.MSKEY和en3.AttrName ='MX_LASTNAME'左连接[mxmc_db]。[dbo]。 idmv_vna]上li.mcThisMSKEY = en4.MSKEY和en4.AttrName ='DISPLAYNAME'上的en4加入[mxmc_db]。[dbo]。[idmv_vna] li.mcOtherMSKEY = en5.MSKEY和en5.AttrName ='DISPLAYNAME'上的en5 在li.mcAssigner = en6.MSKEY和en6.AttrName ='DISPLAYNAME'上加入[mxmc_db]。[dbo]。[idmv_vna] en6。在li.mcUniqueID = en7上加入[mxmc_db]。[dbo]。[idmv_historic_approvals] en7。 mcLinkId和en7.mcOperationText ='已批准'左连接[mxmc_db]。[dbo]。[idmv_vna] en8 on li.mcThisMSKEY = en8.MSKEY和en8.AttrName ='MX_DISABLED'其中li.mcAttrName ='MXREF_MX_ROLE'和li。 mcContextMSKEY不为null,并且(li.mcLinkState = 0和li.mcExecState = 1)或(li.mcLinkState = 1和li.mcExecState = 512和li.mcValidFrom> GETDATE()))由li.mcThisMSKEYVALUE,li排序。 mcOtherMSKEYVALUE

6条回答
奄奄一息的小鱼
2020-09-18 20:20

嗨Zoltan,

您可以尝试将任务分为两个步骤。

1将所有内容都选择到临时表中。

2转换为ASCII文件-将表的内容导出到CSV文件中。/或通过其他任何方式继续处理数据

根据您的描述,步骤1只需几秒钟即可完成。 根据数据量和服务器性能,第2步可能需要1-2分钟才能完成17000条记录的下载。

欢呼

沉阳

一周热门 更多>