<?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: Select query: performance optimization in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133648#M1365803</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vishnu,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For large tables you should really use key fields or at least an index of the table to access the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In your case, access seems to be per user. So, as it is not in key fields (only RQIDENT which is the spool number), you should use index A of table TSP01 which contains fields :&lt;/P&gt;&lt;P&gt; - RQFINAL which is a flag indicating spool status ("." indicates it is finished)&lt;/P&gt;&lt;P&gt; - RQCLIENT : client where the spool has been generated (generally sy-mandt)&lt;/P&gt;&lt;P&gt; - RQOWNER : the owner of the spool&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So in order to have better performance (and to avoid message in code inspector), you should have a query like this one:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;SELECT * FROM tsp01
         INTO TABLE lt_tsp01
         WHERE rqfinal  = '.' AND
               rqclient = sy-mandt AND
               rqowner  = sy-uname .&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And as mentioned by Alex Alvarez, since your goal is only to have the last spool number, you should only get the max RQIDENT!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Samuel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 09 Sep 2009 12:49:39 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-09-09T12:49:39Z</dc:date>
    <item>
      <title>Select query: performance optimization</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133639#M1365794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I run a report in background programatically. To extract the Spool number i wrote the following select query. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;SELECT * FROM tsp01
           INTO TABLE lt_tsp01
           WHERE rqowner = sy-uname .

   SORT lt_tsp01 BY rqident DESCENDING.
  READ TABLE lt_tsp01 INTO lwa_tsp01 INDEX gc_int_1.
  MOVE lwa_tsp01-rqident TO lv_spool_id.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;It is working fine. But when i run code inspector, it shows an error message interms of performance " Large table TSP01: No first field of a table index in WHERE condition".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you tell me a better way to write this query. How can i optimize it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Vishnu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;Moderator message - Moved to the correct forum&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Rob Burbank on Sep 4, 2009 1:44 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Sep 2009 07:33:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133639#M1365794</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-04T07:33:09Z</dc:date>
    </item>
    <item>
      <title>Re: Select query: performance optimization</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133640#M1365795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, if you do not want to change the program, because you select on the owner, add an extra index for the table on owner.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Sep 2009 07:40:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133640#M1365795</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-04T07:40:53Z</dc:date>
    </item>
    <item>
      <title>Re: Select query: performance optimization</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133641#M1365796</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will suggest to use field spool request no RQIDENT, in your query rather than creating an new index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try using RQIDENT not initial, then it will access primary index and your issue will be resolved.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Sep 2009 07:57:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133641#M1365796</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-04T07:57:23Z</dc:date>
    </item>
    <item>
      <title>Re: Select query: performance optimization</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133642#M1365797</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SELECT * FROM tsp01&lt;/P&gt;&lt;P&gt;           INTO TABLE lt_tsp01&lt;/P&gt;&lt;P&gt;           WHERE rqfinal = &amp;lt; &amp;gt;  and rqclient &amp;lt;  &amp;gt;  and rqowner = sy-uname .&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; ashok&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Sep 2009 16:32:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133642#M1365797</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-04T16:32:56Z</dc:date>
    </item>
    <item>
      <title>Re: Select query: performance optimization</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133643#M1365798</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try to do the fetch using the key field (RQIDENT). But if your functionality is that, u don't get this key field, then try to create a secondary index for the table with the index field as RQOWNER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Ramesh Sundaram&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Sep 2009 08:44:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133643#M1365798</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-08T08:44:08Z</dc:date>
    </item>
    <item>
      <title>Re: Select query: performance optimization</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133644#M1365799</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;insted of  this,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SELECT * FROM tsp01&lt;/P&gt;&lt;P&gt;           INTO TABLE lt_tsp01&lt;/P&gt;&lt;P&gt;           WHERE rqowner = sy-uname .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;u can use like this,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SELECT * FROM tsp01&lt;/P&gt;&lt;P&gt;           INTO TABLE lt_tsp01&lt;/P&gt;&lt;P&gt;           WHERE  RQIDENT like '%'&lt;/P&gt;&lt;P&gt;                         rqowner = sy-uname .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sure .. it wil work..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;JJP&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Sep 2009 13:16:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133644#M1365799</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-08T13:16:42Z</dc:date>
    </item>
    <item>
      <title>Re: Select query: performance optimization</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133645#M1365800</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;WHERE RQIDENT sl_RQIDENT (Declare a Select option with no display to avoid the Code Inspector Error)&lt;/P&gt;&lt;P&gt;RQIDENT = sy-mandt   (Guess ur Requirement is Client Specific)&lt;/P&gt;&lt;P&gt;rqowner = sy-uname .&lt;/P&gt;&lt;P&gt;Performance will not be affected as all the Secondary indexes has been used&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Sep 2009 05:16:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133645#M1365800</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-09T05:16:25Z</dc:date>
    </item>
    <item>
      <title>Re: Select query: performance optimization</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133646#M1365801</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use the escape sequence for the code inspector&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do not add nonsense-modifications.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Sep 2009 07:49:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133646#M1365801</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-09T07:49:03Z</dc:date>
    </item>
    <item>
      <title>Re: Select query: performance optimization</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133647#M1365802</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;You can use this code, is better for the performance and is the same:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT MAX rqident INTO lv_spool_id FROM tsp01&lt;/P&gt;&lt;P&gt;           WHERE rqowner = sy-uname .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Sep 2009 08:04:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133647#M1365802</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-09T08:04:13Z</dc:date>
    </item>
    <item>
      <title>Re: Select query: performance optimization</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133648#M1365803</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vishnu,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For large tables you should really use key fields or at least an index of the table to access the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In your case, access seems to be per user. So, as it is not in key fields (only RQIDENT which is the spool number), you should use index A of table TSP01 which contains fields :&lt;/P&gt;&lt;P&gt; - RQFINAL which is a flag indicating spool status ("." indicates it is finished)&lt;/P&gt;&lt;P&gt; - RQCLIENT : client where the spool has been generated (generally sy-mandt)&lt;/P&gt;&lt;P&gt; - RQOWNER : the owner of the spool&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So in order to have better performance (and to avoid message in code inspector), you should have a query like this one:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;SELECT * FROM tsp01
         INTO TABLE lt_tsp01
         WHERE rqfinal  = '.' AND
               rqclient = sy-mandt AND
               rqowner  = sy-uname .&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And as mentioned by Alex Alvarez, since your goal is only to have the last spool number, you should only get the max RQIDENT!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Samuel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Sep 2009 12:49:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133648#M1365803</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-09T12:49:39Z</dc:date>
    </item>
    <item>
      <title>Re: Select query: performance optimization</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133649#M1365804</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt; Large table TSP01:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please check how large is the table actually in your system, the code inspector does not know&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The last comment is an approach to use the available secondary key, you must add the client, because the table itself does not have the client in first position.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Additionally you could use the aggregate, see above, to get the result directly from the DB.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Sep 2009 13:30:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-query-performance-optimization/m-p/6133649#M1365804</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-09T13:30:01Z</dc:date>
    </item>
  </channel>
</rss>

