宣传邪恶

2020-09-02 10:21发布

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

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

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


大家好,

我当前正在调整某些流程... ...如果应用了促销,则在购物车修改(即:将产品添加到购物车)期间,平均时间从250毫秒增加。 到> 1秒!!

分析后,请注意执行了2000多个查询(购物车条目数为100)

但是,如果不应用促销活动,则查询数量"仅"约为100。

我需要解决方案! 我将感谢您的任何帮助(我尝试过CachedPromotionsManager,但似乎没有解决任何问题)

查找附带的两个屏幕截图(最详细的查询详细信息和所有查询): 最详细的查询详细信息

所有查询

的确感谢!

(154.6 kB)
4条回答
clever101
2020-09-02 10:52

我的航班延误了,我有时间进一步调查...

上面的踪迹显示了N + 1问题的明确情况( http://stackoverflow.com/questions/97197/what-is-the-n1-selects-issue

深入Hybris JALO持久层,我已经意识到,设置属性后,当且仅当没有当前事务正在运行时,数据库才会更新...

...所以,为什么不在自己的交易中不执行-促销更新?

以下代码可以解决问题:

result =(PromotionOrderResults)Transaction.current()。execute(new TransactionBody(){
  @Override
        公共对象execute()引发异常
        {
            返回ExtendedPromotionsService.super.updatePromotions(promotionGroups,order);
        }
       });
  
此后,在下面的探查器跟踪中找到(122个条目):

  • 这样做有什么陷阱吗?
  • 更重要的是,为什么Hybris不能以这种现成的方式(OOTB)进行?

另一方面:-看一下事件探查器,我们仍然遇到N + 1问题(每个购物车条目一个数据库命中),有没有办法预取同级条目以将其转换为N + 1/x问题 ?

我认为促销是电子商务的真正重要领域,而延迟迁移到服务层是痛苦的。 请注意OOTB上的帖子

另一方面,的确感谢杰弗里的支持:

  1. 我不太了解使用InMemoryCart的便利性,似乎计算无法按预期进行,对吗?
  2. 我已经将促销扩展从5.2.0.2迁移到了5.0.3,在这种情况下(添加到购物车)似乎没有任何改善。 无论如何,我不太了解内部的以下行是什么?

      bean id =" de.hybris.platform.jalo.order.Cart" class =" de.hybris.platform。  promotions.jalo.order.PromotionCart" scope =" prototype"/>  

周末愉快。 现在,我对上面介绍的方法感到满意!

一周热门 更多>