AND OR组合选择性能较差

2020-09-18 23:12发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我可以提高这种选择语句的性能吗?...

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

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


我可以提高这种选择语句的性能吗?

选择*从ZDB_TABLE1到DATA_PACKAGE中所有条目的表itab中,其中SALESORG = l_salesorg AND(SOLD_TO = DATA_PACKAGE-SOLD_TO或SHIP_TO = DATA_PACKAGE-SHIP_TO或/BIC/zfield1 = DATA_PACKAGE-/BIC)。

尽管创建了三个索引,该语句仍需要花费很长时间来执行。

salesorg + sold_to

salesorg + ship_to

salesorg + zfield1

执行计划:

选择*从" zDB_table1"中,在" SALESORG" =:A0 AND(" SOLD_TO" =:A1或" SHIP_TO" =:A2或"/img/bic/zfield1" =:A3)或" SALESORG" =:A4 AND (" SOLD_TO" =:A5 OR" SHIP_TO" =:A6 OR"/img/bic/zfield1" =:A7)OR" SALESORG" =:A8 AND(" SOLD_TO" =:A9 OR" SHIP_TO" =:A10 OR"/img/bic/zfield1" =:A11)或" SALESORG" =:A12 AND(" SOLD_TO" =:A13或" SHIP_TO" =:A14或"/img/bic/zfield1" =:A15)或" SALESORG" =:A16 AND( " SOLD_TO" =:A17或" SHIP_TO" =:A18或"/img/bic/zfield1" =:A19)

6条回答
骆驼绵羊
2020-09-18 23:21 .采纳回答

嗨,

首先,考虑where子句的主键,并避免使用(*)字段。

如果实际的检索在where子句中没有主键,则尝试确定使用具有主键的表执行Join查询的可能性。

请考虑使用跟踪SQL工具(ST05)来识别任何已解决的问题。 示例:跟踪与ABAP%_HINTS一起使用的最佳二级索引。

此致

一周热门 更多>