搜索具有dontOptimize =" true"的值时出现的问题

2020-09-25 03:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的专家, 我遇到以下问题:...

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

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


尊敬的专家,

我遇到以下问题:Env:Hybris v5.7和Hybris v6.5数据库MySQL Server v5.7

问题:CMSParagraphComponent.content具有dontOptimize =" true"。 这将导致CMSParagraphComponent.content值保留在单独表的两列中:

  • props.valueString1具有文本类型(最大长度2 pow 16-1 = 65535字节)。

  • props.value1类型为longBlob。

CMSParagraphComponent.content的完整值保留在props.value1中。 CMSParagraphComponent.content的前8888个字符保留在props.valueString1中。

当我执行由CMSParagraphComponent.content过滤的灵活搜索时,Hybris会在props.valueString1列中进行搜索。

如果我搜索的字符串值超出了前8888个字符(这不是在props.valueString1中写入但在props.value1中存在但我可以在HMC/BackOffice中看到的情形),则会导致问题 该段的内容)。

  1. 您能否解释一下此实现的功能含义? 为什么我们将内容保留在两个单独的列中?

  2. 您能否建议解决方法,例如 是否可以在props.valueString1中保留数据库类型允许的最大值? 最终目标是能够对CMSParagraphComponent.content的全部值进行灵活的搜索,而不仅是对它的前8888个字符进行搜索。

谢谢

1条回答
蓋茨
2020-09-25 03:48

如果属性为" true",则属性值将存储在" global"属性表中,这通常是一个坏主意。 当flag为true时,hybris会将此类属性转储在props表中,并且这种属性将快速增长,如果不仔细设计解决方案,接下来您就会知道性能令人头痛。

一周热门 更多>