<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Comparing SELECTs for performance in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214740#M1826020</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kannan,&lt;/P&gt;&lt;P&gt;Thanks for the information.&amp;nbsp; I'm still learning more about SAT and those links are helpful.&amp;nbsp; I see SAT can be used to compare traces, however, my question was more about how to plan and model the correction that I propose to make without making a separate program to analyze comparatively, or without making changes to the existing FM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think I want to replace the use of BSEG in the FM with BSID, but I want to "speed test" the use of BSID in a similar select in our PRD environemnt, without having to transport changes.&amp;nbsp; I might find, for instance, that BSID doesn't really improve things.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I've done so far, is create a quick viewer of a select of BSEG and another with BSID and compare them using SAT or ST05.&amp;nbsp; I was just wondering if there is another tool that is more dynamic and allows the use of custom coding.&amp;nbsp; &lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Jeremy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 20 Mar 2014 02:31:39 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2014-03-20T02:31:39Z</dc:date>
    <item>
      <title>Comparing SELECTs for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214738#M1826018</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a long-running function module and through SAT, I've identified its SELECT from BSEG as a potential hotspot and way that I can improve the run time, etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Through some research in SCN, I found I can/should use one of the component tables (BSID) to improve performance, but I don't know *how much* of an improvement it will be.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rather than change the code of the FM and transport it to QA just to analyze performance gains, I was hoping there was some sort of tool that I could use to analyze separate code comparatively.&lt;/P&gt;&lt;P&gt;I thought of making 2 Quickviewer queries (one for BSEG and one for BSID) and then using ST05 to analyze each.&amp;nbsp; Is there a better way?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically in PRD, I'd like to compare isolated SELECTs for performance to see what gains I could make.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Jeremy H.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Mar 2014 18:59:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214738#M1826018</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-03-19T18:59:40Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing SELECTs for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214739#M1826019</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jeremy Hilden,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1.For performance analysis i prefer SAT over ST05 and SE30.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAT provides best solutions if you want to run a comparative analysis of selects.I really appreciate your thinking.Yes as a developer we should ensure the performance tuning to be u to the mark especially when dealing with tables like BSEG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please go through the following documents for better understanding of the tcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A __default_attr="10404" __jive_macro_name="document" class="jive_macro_document jive_macro" data-orig-content="ABAP Tracing using SAT" href="https://community.sap.com/" modifiedtitle="true" title="ABAP Tracing using SAT"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A __default_attr="52696" __jive_macro_name="blogpost" class="jive_macro jive_macro_blogpost" data-orig-content="Next Generation ABAP Runtime  Analysis (SAT) &amp;#150; Introduction" href="https://community.sap.com/" modifiedtitle="true" title="Next Generation ABAP Runtime Analysis (SAT) &amp;#150; Introduction"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please let us know your findings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Kannan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Mar 2014 19:17:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214739#M1826019</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-03-19T19:17:01Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing SELECTs for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214740#M1826020</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kannan,&lt;/P&gt;&lt;P&gt;Thanks for the information.&amp;nbsp; I'm still learning more about SAT and those links are helpful.&amp;nbsp; I see SAT can be used to compare traces, however, my question was more about how to plan and model the correction that I propose to make without making a separate program to analyze comparatively, or without making changes to the existing FM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think I want to replace the use of BSEG in the FM with BSID, but I want to "speed test" the use of BSID in a similar select in our PRD environemnt, without having to transport changes.&amp;nbsp; I might find, for instance, that BSID doesn't really improve things.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I've done so far, is create a quick viewer of a select of BSEG and another with BSID and compare them using SAT or ST05.&amp;nbsp; I was just wondering if there is another tool that is more dynamic and allows the use of custom coding.&amp;nbsp; &lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Jeremy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Mar 2014 02:31:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214740#M1826020</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-03-20T02:31:39Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing SELECTs for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214741#M1826021</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jeremy,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;as per my knowledge BSEG is cluster table which carries lot of information and having around 360 fileds however every cluster table having some alternative tables which are having limited data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I suggest instead of using bseg use alternative tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for GL use BSIS,BSAS&lt;/P&gt;&lt;P&gt;customer use bsid,bsad vendor bsik,bsak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Those are sufficient which gives entry bseg information and having very limitted data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Raman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Mar 2014 05:09:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214741#M1826021</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-03-20T05:09:43Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing SELECTs for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214742#M1826022</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Jeremy,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;May be you can try exploring the option PEFROMANCE EXAMPLES in SE38.&lt;/P&gt;&lt;P&gt;SE38&amp;gt;&amp;gt;ENIVRONMENT&amp;gt;&amp;gt;EXAMPLES&amp;gt;&amp;gt;PERFORMANCE EXAMPLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://answers.sap.com/scn.sap.com/thread/3446324"&gt;//http://scn.sap.com/thread/3446324&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;K.Kiran.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Mar 2014 06:59:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214742#M1826022</guid>
      <dc:creator>kiran_k8</dc:creator>
      <dc:date>2014-03-20T06:59:23Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing SELECTs for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214743#M1826023</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can check a few things before doing the transport:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Code Inspector does static performance checks, e.g. finding SELECT statements with WHERE-conditions that do not use leading fields of an available index (primary or secondary)&lt;/LI&gt;&lt;LI&gt;study the indexes of the involved tables yourself and compare with your WHERE-conditions, are you using EQ-conditions on indexed columns?&lt;/LI&gt;&lt;LI&gt;Simulate the access and compare response times using SE16 in the target system, might be quicker than creating a view every time&lt;/LI&gt;&lt;LI&gt;In case of JOIN selects, then you could turn to quick views, queries or, if possible, chains of SE16&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can't hurt if you post some code here, e.g. the problematic BSEG-select and what you are planning for BSID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Mar 2014 08:01:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214743#M1826023</guid>
      <dc:creator>ThomasZloch</dc:creator>
      <dc:date>2014-03-20T08:01:08Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing SELECTs for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214744#M1826024</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;This is exactly what I was hoping for....except I cannot edit the left and right sides of the tool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the following older post, the inability to edit this is discussed.&amp;nbsp; Is there any way to work around the message / block?&amp;nbsp; I'm going to try to debug.&amp;nbsp; Please let me know if there is someway you have found to edit this tool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://answers.sap.com/thread/3446324"&gt;http://scn.sap.com/thread/3446324&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Jeremy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Mar 2014 16:54:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214744#M1826024</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-03-20T16:54:36Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing SELECTs for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214745#M1826025</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Thomas,&lt;/P&gt;&lt;P&gt;I will check each of those out, and you're right, I likely didn't need the quickview built (could have used SE16), but I used the temp program from quick view to analyze both in SAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With regards to applying indexes correctly:&amp;nbsp; is there a good guide / past SCN thread about how to do this best?&amp;nbsp; I will search for that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's what I have done so far regarding use of indexes:&lt;/P&gt;&lt;P&gt;1) look in SE11 at the table (e.g. BSID)&lt;/P&gt;&lt;P&gt;2) hit the indexes button at the top&lt;/P&gt;&lt;P&gt;3) if there is more than one index for the table (for BSID there is), find that it is active and find the most applicable one to the kind of data that I'm trying to select (in BSID this seems to be BSID~4)&lt;/P&gt;&lt;P&gt;4) double click the row to show index details, and then check my SELECT to make sure I use as many of these in an EQ operand as possible in my WHERE clause.&amp;nbsp; (it's a given that all of them may not apply).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Jeremy H.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Mar 2014 17:02:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214745#M1826025</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-03-20T17:02:41Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing SELECTs for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214746#M1826026</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can find some interesting discussions linked here, some also talk about index access:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A __default_attr="29218" __jive_macro_name="document" class="jive_macro_document jive_macro" data-orig-content="FAQ's, intros and memorable discussions in the ABAP Testing and Troubleshooting Space" href="https://community.sap.com/" modifiedtitle="true" style="font-size: 10pt;" title="FAQ's, intros and memorable discussions in the ABAP Testing and Troubleshooting Space"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding your point 4), make sure your WHERE-condition contains as many fields of the index top down without gaps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Looking at BSID~4:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;MANDT&lt;/TD&gt;&lt;TD&gt;Client&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BUKRS&lt;/TD&gt;&lt;TD&gt;Company Code&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;REBZG&lt;/TD&gt;&lt;TD&gt;Number of the Invoice the Transaction Belongs to&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;REBZJ&lt;/TD&gt;&lt;TD&gt;Fiscal Year of the Relevant Invoice (for Credit Memo)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;REBZZ&lt;/TD&gt;&lt;TD&gt;Line Item in the Relevant Invoice&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;KUNNR&lt;/TD&gt;&lt;TD&gt;Customer Number&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;UMSKS&lt;/TD&gt;&lt;TD&gt;Special G/L Transaction Type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;REBZT&lt;/TD&gt;&lt;TD&gt;Follow-On Document Type&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MANDT will be included automatically. BUKRS is not very selective (not many distinct values), but you must include it since it is the leading field of the index. REBZG sounds like a selective field, so you can likely use the index effectively by having just BUKRS and REBZG in your WHERE-condition, but the more the better.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also have a look at transactions DB05 and TAANA which can give you a good idea about the actual data distribution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Mar 2014 08:15:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214746#M1826026</guid>
      <dc:creator>ThomasZloch</dc:creator>
      <dc:date>2014-03-21T08:15:45Z</dc:date>
    </item>
    <item>
      <title>Re: Comparing SELECTs for performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214747#M1826027</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you all.&amp;nbsp; I've received some great tips and helps in this thread.&amp;nbsp; I have enough to proceed and make meaningful changes to the original code now, so I'll mark as answered.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Mar 2014 14:45:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/comparing-selects-for-performance/m-p/10214747#M1826027</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-03-21T14:45:52Z</dc:date>
    </item>
  </channel>
</rss>

