[错误] Select查询不遵循基本的性能优化规则

2020-09-10 06:53发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好, 我们最近在DBACOC...

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

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


您好,

我们最近在DBACOCKPIT中注意到,为标准程序" RFITEMAP "安排的后台作业占用了很高的CPU利用率(超过64%)。

引起该问题的SQL查询如下:

包含文件的名称: RFITEM_INC

查询:

围绕线号 537:

选择(gt_spec_fields)
从bkpf
进入wa_bkpf的相应字段
gt_pos_posted
中的所有条目,其中bukrs = gt_pos_posted-bukrs
AND belnr = gt_pos_posted-belnr
gjahr = gt_pos_posted-gjahr。

在进一步分析中,我们发现这是一个性能错误,因为此查询未遵循针对所有条目编写选择查询的基本最佳实践。

1)在用于所有条目之前,不会删除重复的数据

2)在对所有条目使用数据之前未对数据进行排序

以下是我们在DBACOCKPIT中注意到的数据(重复且未排序):

1。 在Where子句

中传递的重复数据

@ P80 nvarchar(10)N'0100009323'
@ P81 nvarchar(4)N'2018'
@ P82 nvarchar(4)N'8750'
@ P83 nvarchar(10)N' 0100009323'
@ P84 nvarchar(4)N'2018'<@> @ P85 nvarchar(4)N'8750'
@ P86 nvarchar(10)N'0100009323'
@ P87 nvarchar(4) N'2018'
@ P88 nvarchar(4)N'8750'

2。 在where子句中传递未排序的数据

@ P39 nvarchar(4)N' 2018 '
@ P40 nvarchar(4)N'8370'
@ P41 nvarchar(10)N'4600000023'
@ P42 nvarchar(4)N' 2019 '
@ P43 nvarchar(4)N'8370'
@ P44 nvarchar(10)N'5900000016'
@ P45 nvarchar(4 )N' 2018 '

此修复程序没有可用的注释。 请解决此性能问题,并告诉我们!

感谢与问候,
拉曼德普·考尔