Quantcast
Channel: SCN : All Content - SAP HANA Developer Center
Viewing all articles
Browse latest Browse all 6745

Performance Issue

$
0
0

Performance Experts,

 

We have these developers running this qry below and in the vis plan it shows that 94% is running in one area, and the visualizer plan it looks like:

bad_qry.png

 

Here is the qry

 

SELECT   Table__8."WERKS",   sum(Table__8."TOTAL_SMI_IND")

FROM 

(   select   TEMPO_FLAG, DAY_DT,   MANDT,   MATNR,   MATKL, MAKTX,   WERKS,   SMI_YN, SMI_PRIME_YN,   OVERLAP_SA_YN,   EBELN, EBELP,   BSTYP, MAABC,   KDATB, KDATE,   EKGRP, MM_EKGRP,   BSTMI, MABST,   LIFNR, NAME1,   VENDOR_ID,   DELIVERY_RATING, QUALITY_RATING,   NETPR, DISMM,   BUS_AREA,   TOTAL_INV,   LAST_CHG_DT,   CALC_MIN_VAL,   CALC_MAX_VAL,   AMU_FACTORED,   PLANT_STK_INV,   PROJ_STK_INV,   SHORTAGE_CNT,   SHORTAGE_IND,   STOCKOUT_IND,   NEAR_MIN_IND,   BELOW_MIN_IND,   WITHIN_RANGE_IND,   ABOVE_MAX_IND,   TOTAL_SMI_IND,   CUR_INV_STATUS,   DAYS_BELOW_MIN_CNT,   DAYS_BELOW_MIN_90,   DAYS_ABOVE_MAX_CNT,   DAYS_ABOVE_MAX_90,   SCRAP_QTY_CNT,   LINE_REJ_CNT,   UNIT_COST,   TOTAL_OPEN_QTY,   REQDT_DATE,   LFIMG_ACTUAL,   ASQTY_TO_DATE,   MENGE,   WEMNG,   OPEN_QTY,   MENGE_EKET

from

( select   TEMPO_FLAG, DAY_DT,   MANDT,   MATNR,   MATKL, MAKTX,   WERKS,   SMI_YN, SMI_PRIME_YN,   OVERLAP_SA_YN,   EBELN, EBELP,   BSTYP, MAABC,   KDATB, KDATE,   EKGRP, MM_EKGRP,   BSTMI, MABST,   LIFNR, NAME1,   VENDOR_ID,   DELIVERY_RATING, QUALITY_RATING,   NETPR, DISMM,   BUS_AREA,   TOTAL_INV,   LAST_CHG_DT,   CALC_MIN_VAL,   CALC_MAX_VAL,   AMU_FACTORED,   PLANT_STK_INV,   PROJ_STK_INV,   SHORTAGE_CNT,   SHORTAGE_IND,   STOCKOUT_IND,   NEAR_MIN_IND,   BELOW_MIN_IND,   WITHIN_RANGE_IND,   ABOVE_MAX_IND,   TOTAL_SMI_IND,   CUR_INV_STATUS,   DAYS_BELOW_MIN_CNT,   DAYS_BELOW_MIN_90,   DAYS_ABOVE_MAX_CNT,   DAYS_ABOVE_MAX_90,   SCRAP_QTY_CNT,   LINE_REJ_CNT,   UNIT_COST,   TOTAL_OPEN_QTY,   REQDT_DATE,   LFIMG_ACTUAL,   ASQTY_TO_DATE,   MENGE,   WEMNG,   OPEN_QTY,   MENGE_EKET

from

( select   TEMPO_FLAG, DAY_DT,   MANDT1 as MANDT,   MATNR_EXT as MATNR,   MATKL, MAKTX,   WERKS,   SMI_YN, SMI_PRIME_YN,   OVERLAP_SA_YN,   EBELN, EBELP,   BSTYP, MAABC,   KDATB, KDATE,   EKGRP, MM_EKGRP,   BSTMI, MABST,   LIFNR, NAME1,   NAME1 || ' ' || LIFNR as VENDOR_ID,   DELIVERY_RATING, QUALITY_RATING,   NETPR, DISMM,   BUS_AREA,   REQDT_DATE,   row_number() over (partition by TEMPO_FLAG, DAY_DT, MANDT1, MATNR_EXT, WERKS order by REQDT_DATE desc) as ROW_ORDER,   ASQTY_TO_DATE,   TOTAL_INV,   LAST_CHG_DT,   CALC_MIN_VAL,   CALC_MAX_VAL,   AMU_FACTORED,   PLANT_STK_INV,   PROJ_STK_INV,   SHORTAGE_CNT,   SHORTAGE_IND,   STOCKOUT_IND,   NEAR_MIN_IND,   BELOW_MIN_IND,   WITHIN_RANGE_IND,   ABOVE_MAX_IND,   TOTAL_SMI_IND, 

case

when SMI_PRIME_YN <> 'Y' Then 'NON-PRIME'      

when ifnull(SHORTAGE_IND, 0) > 0 Then 'SHORTAGE'      

when ifnull(STOCKOUT_IND, 0) > 0 Then 'STOCKOUT'      

when ifnull(BELOW_MIN_IND, 0) > 0 Then 'BELOW MIN'      

when ifnull(NEAR_MIN_IND, 0) > 0 Then 'NEAR MIN'      

when ifnull(WITHIN_RANGE_IND, 0) > 0 Then 'WITHIN RANGE'      

when ifnull(ABOVE_MAX_IND,0) > 0 Then 'ABOVE MAX'      

Else ' ' end as CUR_INV_STATUS,   DAYS_BELOW_MIN_CNT,   DAYS_BELOW_MIN_90,   DAYS_ABOVE_MAX_CNT,   DAYS_ABOVE_MAX_90,   SCRAP_QTY_CNT,   LINE_REJ_CNT,   UNIT_COST,   CUMULATIVE_OPEN_QTY as TOTAL_OPEN_QTY,   LFIMG_ACTUAL, 

sum(MENGE) as MENGE, 

sum(WEMNG) as WEMNG, 

sum(OPEN_QTY) as OPEN_QTY, 

sum(MENGE_EKET) as MENGE_EKET FROM "_SYS_BIC"."edw.scm.dashboards.SMIDashboard/AN_CONSOLIDATED_DATA2"

group by   TEMPO_FLAG, DAY_DT,   MANDT1,   MATNR_EXT,   WERKS,   MATKL,   MAKTX,   SMI_YN, SMI_PRIME_YN,   OVERLAP_SA_YN,   EBELN, EBELP,   BSTYP, MAABC,   KDATB, KDATE,   EKGRP, MM_EKGRP,   BSTMI, MABST,   LIFNR, NAME1,   DELIVERY_RATING, QUALITY_RATING,   NETPR, DISMM,   BUS_AREA,   REQDT_DATE,   ASQTY_TO_DATE,   TOTAL_INV,   LAST_CHG_DT,   CALC_MIN_VAL,   CALC_MAX_VAL,   AMU_FACTORED,   PLANT_STK_INV,   PROJ_STK_INV,   SHORTAGE_CNT,   SHORTAGE_IND,   STOCKOUT_IND,   NEAR_MIN_IND,   BELOW_MIN_IND,   WITHIN_RANGE_IND,   ABOVE_MAX_IND,   TOTAL_SMI_IND,   DAYS_BELOW_MIN_CNT,   DAYS_BELOW_MIN_90,   DAYS_ABOVE_MAX_CNT,   DAYS_ABOVE_MAX_90,   SCRAP_QTY_CNT,   LINE_REJ_CNT,   UNIT_COST,   CUMULATIVE_OPEN_QTY,   LFIMG_ACTUAL   ) 

where row_order = 1   )   )  Table__8 GROUP BY   Table__8."WERKS" HAVING   sum(Table__8."TOTAL_SMI_IND")  >  0 ORDER BY   2   DESC

 

I gave some feedback to them but was wondering if you all had some specific ideas and yours was different.

 

Thank you.

 

Mike


Viewing all articles
Browse latest Browse all 6745

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>