2020-08-18 21:25发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我花了最后2个小时... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我花了最后2个小时比较并研究了上述陈述,但没有明确的结果。
是否有任何官方文档,其中哪个语句应更快地处理SELECT,而由于仅访问非(唯一)索引字段,我希望该语句仅返回一条记录?
这是否还取决于所使用的DBMS(ORACLE 10.2.0.4.0)和/或SAP版本(NW 7.01 SP6)?
从性能专家那里获得一些反馈非常好!
在此先感谢和问候,
Alej
我相信SELECT .. UP TO 1 ROWS在理论上具有更长的运行时间,尽管我非常确定它是不可测量的。 原因如下:如果调试该语句,您将看到它执行SELECT,然后转到ENDSELECT并返回到SELECT。 因此,解释器似乎只运行一次循环,而SELECT SINGLE只是一个语句。 (好吧,这无疑是一些挥霍的争论……)
在Oracle上,实际的数据库语句(本机SQL)相同:都使用提示FIRST_ROWS(1)并通过ROWNUM <= 1限制结果集。
齐格弗里德·波伊斯写道: 当我拥有完整的主键时,我使用SELECT SINGLE。 当我没有完整的主键时,我最多使用1行。 原因是代码的可读性而不是性能!
齐格弗里德·波伊斯写道:
当我拥有完整的主键时,我使用SELECT SINGLE。
当我没有完整的主键时,我最多使用1行。
原因是代码的可读性而不是性能!
有趣并与他人保持一致,尽管总的来说,我不同意这一说法。 对我来说,SELECT SINGLE的惯用用法是只要您有条件确保只能返回一条记录。 一个唯一的索引(不仅仅是主键)就足够了,并且可能会争用应用程序/功能级别已知的唯一性来扩展它(公认的是更脆弱且不受控制)。
但是,就实际使用而言,我认为如果使用SELECT SINGLE时没有主键,则Extended Program Check会吐出警告(目前没有用于检查此内容的系统,如果这样,可能是 是否有这样做的强烈理由?!)。 我认为这是在没有完整主键的情况下采用SELECT ..最多1行的原因。
我一直不喜欢SELECT-ENDSELECT构造的部分是调试(提交)时可能出现短转储的可能性。 据我所知,这也适用于最多1行的限制,但不适用于SELECT SINGLE。
干杯,哈拉德
最多设置5个标签!
我相信SELECT .. UP TO 1 ROWS在理论上具有更长的运行时间,尽管我非常确定它是不可测量的。 原因如下:如果调试该语句,您将看到它执行SELECT,然后转到ENDSELECT并返回到SELECT。 因此,解释器似乎只运行一次循环,而SELECT SINGLE只是一个语句。 (好吧,这无疑是一些挥霍的争论……)
在Oracle上,实际的数据库语句(本机SQL)相同:都使用提示FIRST_ROWS(1)并通过ROWNUM <= 1限制结果集。
有趣并与他人保持一致,尽管总的来说,我不同意这一说法。 对我来说,SELECT SINGLE的惯用用法是只要您有条件确保只能返回一条记录。 一个唯一的索引(不仅仅是主键)就足够了,并且可能会争用应用程序/功能级别已知的唯一性来扩展它(公认的是更脆弱且不受控制)。
但是,就实际使用而言,我认为如果使用SELECT SINGLE时没有主键,则Extended Program Check会吐出警告(目前没有用于检查此内容的系统,如果这样,可能是 是否有这样做的强烈理由?!)。 我认为这是在没有完整主键的情况下采用SELECT ..最多1行的原因。
我一直不喜欢SELECT-ENDSELECT构造的部分是调试(提交)时可能出现短转储的可能性。 据我所知,这也适用于最多1行的限制,但不适用于SELECT SINGLE。
干杯,哈拉德
一周热门 更多>