性能:检查表上是否存在记录的最佳方法是什么?

2020-08-13 16:05发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好, 通常可以使用: 从x =...

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

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


你好,

通常可以使用:

从x = y的选项卡中选择单个*。

但是,关于性能,我认为 其他一些更好的命令...

任何想法吗?

tks。

15条回答
wang628962
2020-08-13 16:49

我们有一条通用规则:
*非缓冲表:

从...其中选择单个计数(*)...

*缓冲表:

从...其中选择一个<1字段> ...

至少在我们的环境中,这是最快的方法。

您可以使用此示例程序来检查两种可能性的运行时间:

*&--------------------------------------------- ------------------------ * *&报告Z_COMPARE_RUNTIME *&*&----------------- -------------------------------------------------- -* *&*&*&----------------------------------------- ---------------------------- *报告z_compare_runtime。 数据:g_start类型i,g_stop类型i,g_count类型i,g_single类型i。 参数:p_do类型i默认值为1000。选择开始。 做p_do次。 获取运行时字段g_start。 执行select_single。 获取运行时间字段g_stop。 g_single = g_single + g_stop-g_start。 获取运行时字段g_start。 执行select_count。 获取运行时间字段g_stop。 g_count = g_count + g_stop-g_start。 ENDDO。 g_single = g_single/p_do。 g_count = g_count/p_do。 写:p_do,"执行-平均运行时间:"。 写:/'选择单身:',g_single。 写:/'选择计数:',g_count。 *&------------------------------------------------ --------------------- * *&形成select_single *&---------------------- ----------------------------------------------- * *文字 * ------------------------------------------------- --------------------- * FORM select_single。 *数据:l_obj_name类型tadir-obj_name。 * *选择单个obj_name *从tadir * INTO l_obj_name *在pgmid ='R3TR'。 数据:l_name TYPE trdir-name。 从trdir INTO l_name中选择单个名称,其中name ='Z_COMPARE_RUNTIME'。 ENDFORM。 " select_single *&---------------------------------------------- ----------------------- * *&形成select_count *&-------------------- ------------------------------------------------- * *文字* ----------------------------------------------- ----------------------- * FORM select_count。* SELECT SINGLE COUNT(*)* FROM tadir * WHERE pgmid ='R3TR'。SELECT SINGLE COUNT(* )FROM trdir WHERE name ='Z_COMPARE_RUNTIME'。ENDFORM。" select_count

一周热门 更多>