<?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: Native SQL - data select performance issue in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383574#M812418</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;would be interesting to know how SAP implemented it's &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT INTO Internal_table Statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At least they must go to the database and do what?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a) They can open a cursor and fetch "behind the doors" into the table.  You don't need a line-by-line approach if you have nothing to process row-by-row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;b) They can trigger a bulk read into the database and use an array fetch approach. That will speed up things (maybe) and have to stuff the array contents into the internal_table. But that will be at least some kind of package processing. A bulk read uses a  certain array package size (let's say 100 entries per one fetch). If you would implement a kind of unlimited array size  you would run into memory problems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An I bet SAP hates to run into that problem. See how they convert big tables in SE14...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 13 Mar 2008 09:59:34 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-03-13T09:59:34Z</dc:date>
    <item>
      <title>Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383562#M812406</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The logic shown below works fine. However, when selecting large number of rows there is a performance issue. I believe it is caused by the fact that every line is appended to internal table within SAVE_LINE subroutine one at a time. Is there any way to build native sql where the data is selected and saved into internal table as a snap shot (equivalent to "select * into table..."), rather then one line at a time?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Alex&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRY.&lt;/P&gt;&lt;P&gt;   EXEC SQL PERFORMING save_line.&lt;/P&gt;&lt;P&gt;       SELECT&lt;/P&gt;&lt;P&gt;        "ACTION_ITEMS"."ACTION_ITEM_ID",&lt;/P&gt;&lt;P&gt;         "ACTION_ITEMS"."PTY_ID",&lt;/P&gt;&lt;P&gt;         "ACTION_ITEMS"."ACTION_ITEM_DESC"&lt;/P&gt;&lt;P&gt;          INTO     :ITAB-ACTION_ITEM_ID,&lt;/P&gt;&lt;P&gt;                      :ITAB-PTY_ID,&lt;/P&gt;&lt;P&gt;                      :ITAB-ACTION_ITEM_DESC&lt;/P&gt;&lt;P&gt;          FROM  "ACTION_ITEMS"&lt;/P&gt;&lt;P&gt;            WHERE "ACTION_ITEMS"."ASSIGN_EMP_PTY_ID"    &lt;/P&gt;&lt;P&gt;                        = :PARTY_ID&lt;/P&gt;&lt;P&gt;      ENDEXEC.&lt;/P&gt;&lt;P&gt;      CATCH cx_sy_native_sql_error INTO errclas.&lt;/P&gt;&lt;P&gt;        err_text = errclas-&amp;gt;get_text( ).&lt;/P&gt;&lt;P&gt;ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;.....&lt;/P&gt;&lt;P&gt;FORM save_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 15:27:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383562#M812406</guid>
      <dc:creator>former_member199351</dc:creator>
      <dc:date>2008-02-19T15:27:42Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383563#M812407</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You might try opening a CURSOR and using FETCH NEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 15:37:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383563#M812407</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-19T15:37:00Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383564#M812408</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rob,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would you have any examples on how to do it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Alex&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 15:39:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383564#M812408</guid>
      <dc:creator>former_member199351</dc:creator>
      <dc:date>2008-02-19T15:39:16Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383565#M812409</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;just curious, what is your motivation to use native SQL rather than open SQL?&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 15:43:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383565#M812409</guid>
      <dc:creator>ThomasZloch</dc:creator>
      <dc:date>2008-02-19T15:43:26Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383566#M812410</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is something you can try, but I'm really not sure if it'll be any faster:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;TABLES payr.

DATA:
wa_src LIKE payr,
i_src LIKE TABLE OF payr,
l_str1(20) TYPE c.


PARAMETERS: l_string(20) TYPE c.

START-OF-SELECTION.
  CONCATENATE '%' l_string '%' INTO l_str1.

  EXEC SQL.
    OPEN C FOR
    SELECT *
    FROM  PAYR
    WHERE UPPER(ZANRE)  LIKE  :L_STR1
    OR    UPPER(ZNME1)  LIKE  :L_STR1
    OR    UPPER(ZNME2)  LIKE  :L_STR1
    OR    UPPER(ZNME3)  LIKE  :L_STR1
    OR    UPPER(ZNME4)  LIKE  :L_STR1
  ENDEXEC.

  DO.
    EXEC SQL.
      FETCH NEXT C INTO :wa_SRC
    ENDEXEC.
    IF sy-subrc &amp;lt;&amp;gt; 0.
      EXIT.
    ENDIF.
    APPEND wa_src TO i_src.
  ENDDO.

  EXEC SQL.
    CLOSE C
  ENDEXEC.

  LOOP AT i_src INTO wa_src.
    WRITE: /001 wa_src-zanre,
                wa_src-znme1,
                wa_src-znme2,
                wa_src-znme3,
                wa_src-znme4.
  ENDLOOP.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 15:43:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383566#M812410</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-19T15:43:53Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383567#M812411</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using native sql becuase I need to get data from external oracle database within ABAP. This is the only way that I know how to do it. I can also run store procedure, but it creates similar performance issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you know of any other way please let me know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Alex&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 15:56:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383567#M812411</guid>
      <dc:creator>former_member199351</dc:creator>
      <dc:date>2008-02-19T15:56:23Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383568#M812412</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Rob,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot for the sample. It did perform better then my code. But it also appended 1 line at a time. Is there any way to avoid appending 1 line at a time?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Alex&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Alex Trosman on Feb 19, 2008 5:00 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 15:59:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383568#M812412</guid>
      <dc:creator>former_member199351</dc:creator>
      <dc:date>2008-02-19T15:59:46Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383569#M812413</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Native SQL has performance issues. Try your way a number of times and mine a number of times. Use whichever takes the least.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 16:00:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383569#M812413</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-19T16:00:21Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383570#M812414</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not that I know of - that's why we use ABAP &lt;SPAN __jive_emoticon_name="wink"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 16:02:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383570#M812414</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-19T16:02:13Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383571#M812415</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt;get data from external oracle database within ABAP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I see. Well, see Rob's comments about the limitations of native SQL, you probably have to live with that.&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 16:04:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383571#M812415</guid>
      <dc:creator>ThomasZloch</dc:creator>
      <dc:date>2008-02-19T16:04:53Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383572#M812416</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the help guys. I will use fetch since it is a bit faster, and we'll have to live with performance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 16:08:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383572#M812416</guid>
      <dc:creator>former_member199351</dc:creator>
      <dc:date>2008-02-19T16:08:31Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383573#M812417</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK - but be sure to run it a number of times in an environment where there's lots of data. Buffering may skew the analysis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Feb 2008 16:12:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383573#M812417</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-19T16:12:08Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383574#M812418</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;would be interesting to know how SAP implemented it's &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT INTO Internal_table Statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At least they must go to the database and do what?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a) They can open a cursor and fetch "behind the doors" into the table.  You don't need a line-by-line approach if you have nothing to process row-by-row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;b) They can trigger a bulk read into the database and use an array fetch approach. That will speed up things (maybe) and have to stuff the array contents into the internal_table. But that will be at least some kind of package processing. A bulk read uses a  certain array package size (let's say 100 entries per one fetch). If you would implement a kind of unlimited array size  you would run into memory problems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An I bet SAP hates to run into that problem. See how they convert big tables in SE14...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Mar 2008 09:59:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383574#M812418</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-13T09:59:34Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383575#M812419</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 too am having performance issues. I am reading 250K records and its a very complex query. I would like to execute a procedure instead. Something like&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt; 
open c for 
  exec z_table sy-mandt p_kschl
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how do I pass the variables? I am getting error when I pass the variables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I create a view in the backend, and use select then it again takes a lot of time. The approach I am adopting in the procedure is significantly reducing my database access time. Any suggestions?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Warm Regards,&lt;/P&gt;&lt;P&gt;Abdullah&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 25 Jan 2009 17:24:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383575#M812419</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-01-25T17:24:54Z</dc:date>
    </item>
    <item>
      <title>Re: Native SQL - data select performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383576#M812420</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;check the SAP Demo &lt;STRONG&gt;ADBC_DEMO&lt;/STRONG&gt; . It will help you get resultset of your query into your internal tables using standard classes.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Mar 2009 09:27:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/native-sql-data-select-performance-issue/m-p/3383576#M812420</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-03-12T09:27:52Z</dc:date>
    </item>
  </channel>
</rss>

