<?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: Optimize in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77248#M16674</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is.but i'm getting multiple records for acct_no and want to see why i'm getting mutiple records based on the date.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 Nov 2012 15:08:40 GMT</pubDate>
    <dc:creator>SASPhile</dc:creator>
    <dc:date>2012-11-22T15:08:40Z</dc:date>
    <item>
      <title>Optimize</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77241#M16667</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The dataset has 108412982 records. And the following query is taking very long time to execute(more than 3 hrs). Is there a better way to reduce the execution time?I'm running this on Unix.&lt;/P&gt;&lt;P&gt;create table email&lt;/P&gt;&lt;P&gt;as&lt;/P&gt;&lt;P&gt;select&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.GALC_ACCT_NO as ACCT_NO&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,a.GALC_ALRT_EMAIL_ADDR_TX1 as email&lt;/P&gt;&lt;P&gt;from outdata.DMGADR_171212 a&lt;/P&gt;&lt;P&gt;join (&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b.GALC_ACCT_NO&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,max(GALC_LST_UPDT_TS) as last_updt_dt&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from outdata.DMGADR_171212 b&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where coalescec(b.GALC_ADDR_TYPE_CD,'')='EML'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and b.GALC_ALRT_EMAIL_ADDR_TX1 is not null&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group by b.GALC_ACCT_NO&lt;/P&gt;&lt;P&gt;) b on a.GALC_ACCT_NO=b.GALC_ACCT_NO and a.GALC_LST_UPDT_TS=b.last_updt_dt&lt;/P&gt;&lt;P&gt;where a.GALC_ADDR_TYPE_CD='EML'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and a.GALC_ALRT_EMAIL_ADDR_TX1 is not null&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Nov 2012 21:35:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77241#M16667</guid>
      <dc:creator>SASPhile</dc:creator>
      <dc:date>2012-11-21T21:35:58Z</dc:date>
    </item>
    <item>
      <title>Re: Optimize</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77242#M16668</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Seems like the call to coalescec is superflous and might prevent some optimizations. What indexes exist on outdata.DMGADR_171212?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Nov 2012 21:55:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77242#M16668</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2012-11-21T21:55:55Z</dc:date>
    </item>
    <item>
      <title>Re: Optimize</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77243#M16669</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When joining a table of this size onto a summarized self, I doubt that you can make use of any index, unless your subset narrows down the result set quite a bit).&lt;/P&gt;&lt;P&gt;You could try to first do the subset, and then join result set onto itself.&lt;/P&gt;&lt;P&gt;It seems you search the last record for an account? At least the transactions for the last day for each account?&lt;/P&gt;&lt;P&gt;Instead of a join with a subquery, you could try to rewrite it, using HAVING logic.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Nov 2012 22:39:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77243#M16669</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2012-11-21T22:39:07Z</dc:date>
    </item>
    <item>
      <title>Re: Optimize</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77244#M16670</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good idea LinusH. That would be :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12pt; font-family: calibri, verdana, arial, sans-serif;"&gt;select&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12pt; font-family: calibri, verdana, arial, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GALC_ACCT_NO as ACCT_NO&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12pt; font-family: calibri, verdana, arial, sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , GALC_ALRT_EMAIL_ADDR_TX1 as email&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12pt; font-family: calibri, verdana, arial, sans-serif;"&gt;from outdata.DMGADR_171212&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12pt; font-family: calibri, verdana, arial, sans-serif;"&gt;where GALC_ADDR_TYPE_CD='EML' and GALC_ALRT_EMAIL_ADDR_TX1 is not missing&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12pt; font-family: calibri, verdana, arial, sans-serif;"&gt;group by GALC_ACCT_NO&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12pt; font-family: calibri, verdana, arial, sans-serif;"&gt;having GALC_LST_UPDT_TS = max(GALC_LST_UPDT_TS);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2012 02:00:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77244#M16670</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2012-11-22T02:00:25Z</dc:date>
    </item>
    <item>
      <title>Re: Optimize</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77245#M16671</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;this gives this message:The query requires remerging summary statistics back with the original data&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2012 14:05:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77245#M16671</guid>
      <dc:creator>SASPhile</dc:creator>
      <dc:date>2012-11-22T14:05:41Z</dc:date>
    </item>
    <item>
      <title>Re: Optimize</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77246#M16672</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't think that is a problem in your case.&amp;nbsp; Take a look at: &lt;A href="http://support.sas.com/kb/4/308.html" title="http://support.sas.com/kb/4/308.html"&gt;http://support.sas.com/kb/4/308.html&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2012 14:11:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77246#M16672</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-11-22T14:11:01Z</dc:date>
    </item>
    <item>
      <title>Re: Optimize</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77247#M16673</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, that's what is intended. Is it any faster?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2012 15:02:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77247#M16673</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2012-11-22T15:02:46Z</dc:date>
    </item>
    <item>
      <title>Re: Optimize</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77248#M16674</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is.but i'm getting multiple records for acct_no and want to see why i'm getting mutiple records based on the date.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2012 15:08:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77248#M16674</guid>
      <dc:creator>SASPhile</dc:creator>
      <dc:date>2012-11-22T15:08:40Z</dc:date>
    </item>
    <item>
      <title>Re: Optimize</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77249#M16675</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You could try adding GALC_LST_UPDT_TS to the selected columns. If there are many GALC_LST_UPDT_TS with the same value for a given acct_no and = to the max, then they would all satisfy the HAVING condition and be selected.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2012 16:55:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Optimize/m-p/77249#M16675</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2012-11-22T16:55:22Z</dc:date>
    </item>
  </channel>
</rss>

