<?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: SAS/Access to Oracle &amp;amp; READBUFF Performance in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/SAS-Access-to-Oracle-READBUFF-Performance/m-p/456890#M14114</link>
    <description>&lt;P&gt;Hi Michael,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If I'm not mistaken, READBUFF &amp;amp; BUFFSIZE (SQL PASS Through Option) are related to the -MEMSIZE option allocated to your SAS session, right?&lt;/P&gt;
&lt;P&gt;If you increase these options READBUFF &amp;amp; BUFFSIZE, without increasing the -MEMSIZE then you are likely to see decremented performance, after all, these options affect he amount of records you are placing in memory in every fetch operation from the database.&lt;/P&gt;
&lt;P&gt;It's no difference in concept when dealing with sorting large data set or even summarizing a data set, having the optimum -memsize &amp;amp; -sortsize option values affect your SAS performance.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just my 2 cents,&lt;/P&gt;
&lt;P&gt;Ahmed&lt;/P&gt;</description>
    <pubDate>Tue, 24 Apr 2018 14:34:18 GMT</pubDate>
    <dc:creator>AhmedAl_Attar</dc:creator>
    <dc:date>2018-04-24T14:34:18Z</dc:date>
    <item>
      <title>SAS/Access to Oracle &amp; READBUFF Performance</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SAS-Access-to-Oracle-READBUFF-Performance/m-p/60343#M565</link>
      <description>The default setting for SAS/Access to Oracle is 250 buffers. A READBUFF specifies the number of rows to read into SAS’ buffer. READBUFF can have a dramatic impact on performance. Here is an example of how you can test what a good READBUFF setting might be. &lt;BR /&gt;
&lt;BR /&gt;
First I create three libnames with different READBUFF settings &lt;BR /&gt;
&lt;BR /&gt;
libname ora1 oracle user=sh pass=sh path=ora10g READBUFF=250;&lt;BR /&gt;
libname ora2 oracle user=sh pass=sh path=ora10g READBUFF=1000;&lt;BR /&gt;
libname ora3 oracle user=sh pass=sh path=ora10g READBUFF=10000;&lt;BR /&gt;
&lt;BR /&gt;
Next I identify a relatively large table in terms of column width and row count. For this example I have a table called INFORMS2009 which contains 79 columns and 1M records. &lt;BR /&gt;
&lt;BR /&gt;
Finally, I make three runs with a datastep program to extract data &lt;BR /&gt;
&lt;BR /&gt;
data test1;&lt;BR /&gt;
	set ora1.INFMS2009;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data test2;&lt;BR /&gt;
	set ora2.INFMS2009;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
data test3;&lt;BR /&gt;
	set ora3.INFMS2009;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
And review the results: &lt;BR /&gt;
&lt;BR /&gt;
NOTE: There were 1006114 observations read from the data set ORA1.INFMS2009.&lt;BR /&gt;
NOTE: The data set WORK.TEST1 has 1006114 observations and 79 variables.&lt;BR /&gt;
NOTE: DATA statement used (Total process time):&lt;BR /&gt;
      real time           1:06.90&lt;BR /&gt;
      cpu time            20.01 seconds&lt;BR /&gt;
&lt;BR /&gt;
NOTE: There were 1006114 observations read from the data set ORA2.INFMS2009.&lt;BR /&gt;
NOTE: The data set WORK.TEST2 has 1006114 observations and 79 variables.&lt;BR /&gt;
NOTE: DATA statement used (Total process time):&lt;BR /&gt;
      real time           40.70 seconds&lt;BR /&gt;
      cpu time            21.54 seconds&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
NOTE: There were 1006114 observations read from the data set ORA3.INFMS2009.&lt;BR /&gt;
NOTE: The data set WORK.TEST3 has 1006114 observations and 79 variables.&lt;BR /&gt;
NOTE: DATA statement used (Total process time):&lt;BR /&gt;
      real time           33.18 seconds&lt;BR /&gt;
      cpu time            20.90 seconds&lt;BR /&gt;
&lt;BR /&gt;
How about 1m 6 seconds vs. 33 seconds! that is a 63% improvement in performance. Note your millage may vary, also like candy too much of a good thing can be bad too.&lt;BR /&gt;
&lt;BR /&gt;
For example jacking up the READBUFF to 20k can actually result in worse performance than the default setting. &lt;BR /&gt;
&lt;BR /&gt;
libname ora4 oracle user=sh pass=XX path=ora10g READBUFF=20000;&lt;BR /&gt;
&lt;BR /&gt;
data test4;&lt;BR /&gt;
set ora4.INFMS2009;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
NOTE: There were 1006114 observations read from the data set ORA4.INFMS2009.&lt;BR /&gt;
NOTE: The data set WORK.TEST4 has 1006114 observations and 79 variables.&lt;BR /&gt;
NOTE: DATA statement used (Total process time):&lt;BR /&gt;
      real time           1:11.90&lt;BR /&gt;
      cpu time            23.01 seconds&lt;BR /&gt;
&lt;BR /&gt;
for more information on READBUFF and SAS/Access to Oracle check out &lt;A href="http://support.sas.com/documentation/cdl/en/acreldb/63647/HTML/default/viewer.htm#a001342369.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/acreldb/63647/HTML/default/viewer.htm#a001342369.htm&lt;/A&gt;</description>
      <pubDate>Fri, 07 Jan 2011 18:05:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SAS-Access-to-Oracle-READBUFF-Performance/m-p/60343#M565</guid>
      <dc:creator>Michael_SAS</dc:creator>
      <dc:date>2011-01-07T18:05:36Z</dc:date>
    </item>
    <item>
      <title>Re: SAS/Access to Oracle &amp; READBUFF Performance</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SAS-Access-to-Oracle-READBUFF-Performance/m-p/456878#M14113</link>
      <description>&lt;P&gt;Hi Michael,&lt;/P&gt;&lt;P&gt;do you know if there's a way to calculate in a prior way the optime buffersize?&lt;/P&gt;&lt;P&gt;can you help me?&lt;/P&gt;&lt;P&gt;thank you very much&lt;/P&gt;&lt;P&gt;MC&lt;/P&gt;</description>
      <pubDate>Tue, 24 Apr 2018 14:21:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SAS-Access-to-Oracle-READBUFF-Performance/m-p/456878#M14113</guid>
      <dc:creator>MC1985</dc:creator>
      <dc:date>2018-04-24T14:21:24Z</dc:date>
    </item>
    <item>
      <title>Re: SAS/Access to Oracle &amp; READBUFF Performance</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SAS-Access-to-Oracle-READBUFF-Performance/m-p/456890#M14114</link>
      <description>&lt;P&gt;Hi Michael,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If I'm not mistaken, READBUFF &amp;amp; BUFFSIZE (SQL PASS Through Option) are related to the -MEMSIZE option allocated to your SAS session, right?&lt;/P&gt;
&lt;P&gt;If you increase these options READBUFF &amp;amp; BUFFSIZE, without increasing the -MEMSIZE then you are likely to see decremented performance, after all, these options affect he amount of records you are placing in memory in every fetch operation from the database.&lt;/P&gt;
&lt;P&gt;It's no difference in concept when dealing with sorting large data set or even summarizing a data set, having the optimum -memsize &amp;amp; -sortsize option values affect your SAS performance.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just my 2 cents,&lt;/P&gt;
&lt;P&gt;Ahmed&lt;/P&gt;</description>
      <pubDate>Tue, 24 Apr 2018 14:34:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SAS-Access-to-Oracle-READBUFF-Performance/m-p/456890#M14114</guid>
      <dc:creator>AhmedAl_Attar</dc:creator>
      <dc:date>2018-04-24T14:34:18Z</dc:date>
    </item>
  </channel>
</rss>

