点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,在此先感谢您的帮助。
我正在努力解决性能问题,这是由查询引起的,该查询返回所有行并将结果仅传递给java以检查CollectionUtils.isEmpty(resultList)。 我需要的是如果仅找到第一个结果,则返回" true"(我希望95-99%的查询返回true)
现在查询看起来或多或少像这样(简化版本)-一种非常低效的方式来确定是否存在至少一个符合条件的产品。
SELECT {pk}
来自{产品}
WHERE {dateStart} <?currentTime
AND {dateEnd}>?currentTime
首先,我尝试使用" SELECT TOP 1"," LIMIT 1"或" ROWNUM 1"之类的关键字,但它们都不起作用。 有错误表明引擎不希望使用这些单词。 我可能会错了,但看起来好像它们不受支持。 我知道hac中有一个"最大计数",但是我找不到它的工作方式。
然后我尝试尝试这种结构:
从SomeTable中选择1存在的地方
({{选择{pk}
来自{产品}
WHERE {dateStart} <?currentTime
AND {dateEnd}>?currentTime}})
其中" SomeTable"是完全不同的表,仅包含一行。 该查询解决了我的性能问题,但是太糟糕了,无法在生产环境中运行。
您是否不知道是否可以通过灵活的搜索(或其他任何解决我的问题的方法)来限制查询结果?
非常感谢您的承诺,雅库布(Jakub)
您好Jakub,在这种情况下,我们可以使用聚合函数。
谢谢,阿比拉什(Abhilash)
感谢您的回复。 解决问题的聪明方法,但不幸的是,我无法使其正常工作。 我发现我犯了一个愚蠢的错误,传递了" ROWNOM 1"而不是" ROWNUM = 1"。 它不返回布尔值,但至少返回一行,这仍然足够。 感谢您的承诺!
我在附加到" AND ROWNUM 1"而不是" AND ROWNUM = 1"的末尾时犯了愚蠢的错误。 这足以解决我的问题。
一周热门 更多>