04-15-2009 7:27 AM
dear all,
i want to increase the performance of a query program that has got around 11 inner joins.
if at all, i split it using select and for all entries, it will have nested loops when populating the data into the final table, which will again reduce performance.
how do i solve this with good performance?
04-15-2009 7:31 AM
Hi Vishnu,
Please post ur 11 joins query here..
U may use a function module if available.
Regards,
Amit
04-15-2009 7:31 AM
Hi Vishnu,
Please post ur 11 joins query here..
U may use a function module if available.
Regards,
Amit
04-15-2009 7:39 AM
Hi,
To improve performance use For all entries by checking previous internal tables have data or not. If available any standard function modules like(MATERIAL_GET_LIST) use them for better performance.
04-15-2009 7:46 AM
Hi Priya,
Before you do the changes, please run ST05 and SE30 to check which portion of the program that taking the most time, and target on those area first.
You can actually use inner join to join several tables. However do not join too many tables like say more than 5, which in turn will slow down the performance.
If you use for all entries, please make sure that:
1. your for all entries table is not empty
2. Not duplicate entries
If you have nested loop, please try what SAP suggest as parallel cursor approach as shown in this example:
Both tables sorted by key K
I = 1.
LOOP AT ITAB1 INTO WA1.
LOOP AT ITAB2 INTO WA2 FROM I.
IF WA2-K <> WA1-K.
I = SY-TABIX.
EXIT.
ENDIF.
" ...
ENDLOOP.
ENDLOOP.
Regards,
Lim...
04-15-2009 8:05 AM
hi,
Instead of using joins use Views for 3 tables . it will increase u r performance ..
~linganna
04-15-2009 9:57 AM
Try to increse the number of key fields given in the 'Where' clause.