<?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: Joining Performance  ( Join separately then Union join vs  Union Join then join tables) in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Joining-Performance-Join-separately-then-Union-join-vs-Union/m-p/333708#M75242</link>
    <description>&lt;P&gt;1) You may find interest in the next link:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www2.sas.com/proceedings/sugi29/064-29.pdf" target="_self"&gt;http://www2.sas.com/proceedings/sugi29/064-29.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2) Is it too heavy to run both methods and compare CPU time and elapse time ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3) Do you need to join tables &lt;STRONG&gt;by key&lt;/STRONG&gt; (ID) or just append data and merge variables &amp;nbsp;?&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;If possible then first append data of same format using&lt;STRONG&gt; proc append&lt;/STRONG&gt; then&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;use either sort + merge or use sql to join them.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Better append the smaller table to the big one of same format, in order to save I/O,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;unless you need keep the original 8 tables as they are.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 17 Feb 2017 09:11:40 GMT</pubDate>
    <dc:creator>Shmuel</dc:creator>
    <dc:date>2017-02-17T09:11:40Z</dc:date>
    <item>
      <title>Joining Performance  ( Join separately then Union join vs  Union Join then join tables)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-Performance-Join-separately-then-Union-join-vs-Union/m-p/333698#M75241</link>
      <description>&lt;P&gt;Hi Gurus,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In oracle and sqlserver environment, after extract tables with where (FACT Table filter out unwant data) as SAS7DAT in Work folder&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;then If i have a 8 SAS7dat,&amp;nbsp; A B C D E F G H , A = E ( Fact Table , same columns and data type , only different is data)&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;&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 = F (Ref table, same columns and data type , only different is data)&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;&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; C = G (Ref table, same columns and data type , only different is data)&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;&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; D = H (Ref table, same columns and data type , only different is data)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Would you rather &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(i)&amp;nbsp;&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; A join B join C join D&amp;nbsp;&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; E join F join G join H&amp;nbsp;&amp;nbsp; first,&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; then union join both dataset&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; or&lt;/P&gt;&lt;P&gt;(ii)&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; A Union E,&amp;nbsp; B Union F , C union G, D union H then&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; AE Join BF join CG join DH&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;when considering performance issue&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 17 Feb 2017 09:12:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-Performance-Join-separately-then-Union-join-vs-Union/m-p/333698#M75241</guid>
      <dc:creator>SASNE</dc:creator>
      <dc:date>2017-02-17T09:12:08Z</dc:date>
    </item>
    <item>
      <title>Re: Joining Performance  ( Join separately then Union join vs  Union Join then join tables)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-Performance-Join-separately-then-Union-join-vs-Union/m-p/333708#M75242</link>
      <description>&lt;P&gt;1) You may find interest in the next link:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www2.sas.com/proceedings/sugi29/064-29.pdf" target="_self"&gt;http://www2.sas.com/proceedings/sugi29/064-29.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2) Is it too heavy to run both methods and compare CPU time and elapse time ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3) Do you need to join tables &lt;STRONG&gt;by key&lt;/STRONG&gt; (ID) or just append data and merge variables &amp;nbsp;?&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;If possible then first append data of same format using&lt;STRONG&gt; proc append&lt;/STRONG&gt; then&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;use either sort + merge or use sql to join them.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Better append the smaller table to the big one of same format, in order to save I/O,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;unless you need keep the original 8 tables as they are.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 17 Feb 2017 09:11:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-Performance-Join-separately-then-Union-join-vs-Union/m-p/333708#M75242</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-02-17T09:11:40Z</dc:date>
    </item>
    <item>
      <title>Re: Joining Performance  ( Join separately then Union join vs  Union Join then join tables)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-Performance-Join-separately-then-Union-join-vs-Union/m-p/333710#M75244</link>
      <description>&lt;P&gt;Hi Shmuel,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes, in other word, i have 4 tables but i cut down half data in each table and create another tables, so 8 tables in total. so the columns and data type are identical&amp;nbsp; as below A = E, B =F, C=G and D=H&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;A B C D&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;E F G H&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So you suggest to append AE , BF CH and DH first then join them together Using Key&amp;nbsp; later on&amp;nbsp; becase of IO reading time ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Fri, 17 Feb 2017 09:28:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-Performance-Join-separately-then-Union-join-vs-Union/m-p/333710#M75244</guid>
      <dc:creator>SASNE</dc:creator>
      <dc:date>2017-02-17T09:28:17Z</dc:date>
    </item>
    <item>
      <title>Re: Joining Performance  ( Join separately then Union join vs  Union Join then join tables)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-Performance-Join-separately-then-Union-join-vs-Union/m-p/333719#M75245</link>
      <description>&lt;P&gt;If originally you have 4 tables, why did you cut them into 2 halves ?&lt;/P&gt;
&lt;P&gt;If you can import each of them without splitting them you will save more I/O.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When you join any two tables you read and write same amount of data, that is 2*(x+y);&lt;/P&gt;
&lt;P&gt;When you append &amp;nbsp;table X to table Y you read and write X only, that is 2*x;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, to answer your question - YES, I beleive it is right.&lt;/P&gt;</description>
      <pubDate>Fri, 17 Feb 2017 09:47:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-Performance-Join-separately-then-Union-join-vs-Union/m-p/333719#M75245</guid>
      <dc:creator>Shmuel</dc:creator>
      <dc:date>2017-02-17T09:47:19Z</dc:date>
    </item>
    <item>
      <title>Re: Joining Performance  ( Join separately then Union join vs  Union Join then join tables)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-Performance-Join-separately-then-Union-join-vs-Union/m-p/333721#M75246</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When it comes to performance of&amp;nbsp;merging data&amp;nbsp;it cannot be reduced just to the sequence of joins.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If that's just what you are after, then the answer is pretty much: set the fullstimer option, run both several time and see what's best.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you really want to go deep in this, then why not consolidate all the data inside the database?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Data is stored and retrieved in a much more efficient way inside the Database.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If for some reason that's not possible, then&amp;nbsp;please describe:&lt;BR /&gt;&lt;BR /&gt;Each join type and keys, size&amp;nbsp;(obs, record lenght) of each dataset.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Daniel Santos&amp;nbsp;@ &lt;A href="http://www.cgd.pt" target="_blank"&gt;www.cgd.pt&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 17 Feb 2017 09:49:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-Performance-Join-separately-then-Union-join-vs-Union/m-p/333721#M75246</guid>
      <dc:creator>DanielSantos</dc:creator>
      <dc:date>2017-02-17T09:49:24Z</dc:date>
    </item>
  </channel>
</rss>

