当表很大时,使用modelService.save插入新记录的时间很长

2020-09-10 13:16发布

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

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


我们遇到Hybris 6.5中的问题,当表大小变大(> 200k条记录)时,modelService.save(...)需要很长时间才能插入到新记录中。 我已经看到modelService.save(...)在保存之前执行查询以确定记录是否存在。 我们已采取措施对modelService.save(...)使用的字段建立索引,但仍看不到任何性能改进。

关于如何改善modelService.save(...)性能的任何建议?:

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

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


我们遇到Hybris 6.5中的问题,当表大小变大(> 200k条记录)时,modelService.save(...)需要很长时间才能插入到新记录中。 我已经看到modelService.save(...)在保存之前执行查询以确定记录是否存在。 我们已采取措施对modelService.save(...)使用的字段建立索引,但仍看不到任何性能改进。

关于如何改善modelService.save(...)性能的任何建议?:

付费偷看设置
发送
4条回答
SAP小菜
1楼-- · 2020-09-10 13:33

您能否在此方面取得任何进展

蓋茨
2楼-- · 2020-09-10 13:31
  1. 您如何准确地评估modelService.save()的性能?

  2. 您是否能够检测在单个modelService.save()上下文中执行的SQL?

  3. 我已经看到modelService.save(...)在保存之前执行查询以确定记录是否存在。。 -该查询是拦截器的一部分,该拦截器控制相应* items.xml中定义的属性的唯一性。 您是否看到执行的SQL需要多长时间?

Aaron 3364
3楼-- · 2020-09-10 13:45

modelservice.save/saveall会执行查询以验证记录是否存在。.搜索位于指定表的pk上。 我试图在多线程执行器中执行此操作,但注意到一些春季注入问题。

我最终最终改变了使用importservice API通过impex导入必要数据的逻辑,线程数设置为8。注意到稳定的执行时间,并且批处理导入很快完成

bbpeas
4楼-- · 2020-09-10 13:52

最终是因为索引。 由于modelService.save(...)的工作方式仍然会给性能带来相当大的影响,但是如果优化索引,则应将影响降到最低。

一周热门 更多>