2007 Mar 23 6:25 PM
Hi All,
I am working on performance issues, where i found like below...
Selection-screen:
s_field1(Optional)
s_field2(Optional)
s_field3(Optional)
Table: XXXX has 3 fields as primary fields
but S_Field1 only using in the where condition. Thats why program was taking long time. If we use like below ...can we imporve performance...
select (fields)
From XXXX
into table itab
where field1 in s_field1
field2 in r_field2
field3 in r_field3.
where r_field2 & 3 are ranges, they will be filled with min & max values.
after that ...we can filter the internal table based on the selection parameters -
will it increase the performance.
thanks
Hi All,
I am working on performance issues, where i found like below...
Selection-screen:
s_field1(Optional)
s_field2(Optional)
s_field3(Optional)
Table: XXXX has 3 fields as primary fields
but S_Field1 only using in the where condition. Thats why program was taking long time. If we use like below ...can we imporve performance...
select (fields)
From XXXX
into table itab
where field1 in s_field1
field2 in r_field2
field3 in r_field3.
where r_field2 & 3 are ranges, they will be filled with min & max values.
after that ...we can filter the internal table based on the selection parameters -
will it increase the performance.
thanks
2007 Mar 23 6:27 PM
this will increase the performance but its not a generic solution.
As an alternative you can read all data from the table and check your condition with READ table statement.
this will definitly improve the performance.
Also check these links-
http://www.erpgenie.com/abap/performance.htm
http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
Regards,
Amit
Reward all helpful replies.
I hope you are not using any cluster table here.
Message was edited by:
Amit Khare
2007 Mar 23 6:29 PM
From where i need to read the data, can you let me know more briefly.
thanks
2007 Mar 26 10:38 AM
Hi
The Performance will not be increased by much, as per the normal process.. try the following
a) The table has nay Secondary index or not
b) If the Table has no Secondary Index and it is not a Transaction table the best soultion is to create a Secondary Index with the Keys that is in your Where clause.
Hope that Solves the problem
Thanks
Anirban M.
2007 Apr 05 10:20 AM
To create a secondary index will NOT incrase the performance, because it would be a part of the primary index...
2007 Mar 26 12:27 PM
hi
good
do this things before writing the select satement
1-Sort the internal table
2-Use COOESPONDING FIELDS of statement with the select statement.
Thanks
mrutyun^
2007 Apr 05 7:15 PM
Into Corresponding fields, to increase performance ? NEVER !
2007 Mar 26 8:02 PM
Hi Jaya,
Your logic will work but try doing this:
1) Declare the other two as select options but hidden.
Ex: Select-options: s_field2/S_field3 NO-DISPLAY.
2) Now the output will have the required format and you need not do the read statement or maintain the data after extraction.
Hope this helps..
BR
Rakesh
PS: Please close the thread if your question is answered..
2007 Mar 27 1:39 PM
Sorry still, i did not get the satisfactory answer.
thanks
2007 Apr 05 2:38 PM
Hi Jaya Sri,
Try using the below format of select stament ....
<b> Select (fields)
From XXXX
Into table itab
Where field1 in s_field1
and field2 in r_field2
and field3 in r_field3.</b>
<i><b>
Best Regards
Ali S</b></i>
2007 Apr 09 7:17 AM
Hi,
This will work no prob. but no need to fill f_fld2 and s_fld3 bcoz if it is balnk then it will autmatcally select min to max. you can hide this with some no-display option in select options.
Generally, in such cases try to put more where conditions on key field only.
NEVER use into corrosponding fields to fill itab.
what u r going to do, i dont think that will improve performance.
Hope this will help you
Jogdand M B
2007 Apr 10 10:36 AM
Hi,
Performance Issue
There is a very good document on SDN on performance,
Also if you login to the service marketplace and go to the bi infoindex.
there is a performance area where you can download information etc.
One of the best tips I have found that most of these documents will outline in more detail is to buffer the SID Number range objects accessed in table NRIV. Once you find the NRO's that are causing a great deal of reads on the NRIV table you can navigate to transaction SNRO and identify the iobj NRO BIM* to be buffered enter it into the input field and hit change. From the edit menu select Set-Up buffering. From here you can configure the buffering of your iobj SID NRO's.
Of course before going through this process do an SQL trace during the load process to identify whether or not the NRIV table is causing performance issues.
/people/rob.burbank/blog/2006/02/07/performance-of-nested-loops
Rgds,
P.Naganjana Reddy