<?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 Join large tables in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159787#M34295</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is it because there are synthetic keys formed?&lt;/P&gt;&lt;P&gt;Try using a link table in that case.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 20 May 2010 17:59:16 GMT</pubDate>
    <dc:creator>boorgura</dc:creator>
    <dc:date>2010-05-20T17:59:16Z</dc:date>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159784#M34292</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;I'm trying to join two large table from qvd files (each one has 40 millions of records) because I need to filter on two fields which are in the two different tables. Every time I try that QlikView starts loading the data, it waits a long time and at the end it simply says that it failed to load the data. I' running the software on a server with 4 cores and 10 GB of ram and during the loading I see the all the memory is used. When I try to run the same script in debug mode with a limited load of, for example, 10K records everything works well then there are no errors in the script. How can I solve this issue? Thanks a lot for your help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 May 2010 15:37:51 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159784#M34292</guid>
      <dc:creator />
      <dc:date>2010-05-20T15:37:51Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159785#M34293</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you add more memory?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 May 2010 17:12:47 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159785#M34293</guid>
      <dc:creator />
      <dc:date>2010-05-20T17:12:47Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159786#M34294</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes I could, but I thought I could find another solution, maybe by changing some QlikView settings, by using some "hidden" optimizations in the script, before buying new hardware. 10 GB of ram is a huge quantity and I thought they were enought to manage my data. What is your experience with the ram consuming by QlikView? Is there another solution I can use to solve my issue? Thanks again.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 May 2010 17:23:08 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159786#M34294</guid>
      <dc:creator />
      <dc:date>2010-05-20T17:23:08Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159787#M34295</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is it because there are synthetic keys formed?&lt;/P&gt;&lt;P&gt;Try using a link table in that case.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 May 2010 17:59:16 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159787#M34295</guid>
      <dc:creator>boorgura</dc:creator>
      <dc:date>2010-05-20T17:59:16Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159788#M34296</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="jive_text_macro jive_macro_quote" jivemacro="quote"&gt;&lt;BR /&gt;b wrote:Yes I could, but I thought I could find another solution, maybe by changing some QlikView settings, by using some "hidden" optimizations in the script, before buying new hardware. 10 GB of ram is a huge quantity and I thought they were enought to manage my data. What is your experience with the ram consuming by QlikView? Is there another solution I can use to solve my issue? Thanks again.&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;P&gt;First, how wide are the tables themselves? How compressible is the data? If each table held just 125 bytes of compressed information, that would require 10 GB of RAM right there. I suspect your tables would be smaller than that when compressed, but I don't know your data, so can't say for sure. Load each one separately. How much RAM is consumed by each separately? Add them up, and if it's over 10 GB, that's your problem. If that IS your problem, and you need all that data, then adding memory is the only solution.&lt;/P&gt;&lt;P&gt;But if, for instance, the first table takes 2 GB and the second takes 1 GB, then that isn't your problem. In that case, I suspect that something is going wrong with your join. For these two tables to only take 3 GB when joined, you would need to be doing a one to one join on a unique key shared by each table. If you're joining, say, ten different rows from table two to each row in table one, then you're going to run out of RAM. If you didn't intend to do a join like that, then changing it back to a 1:1 join should solve the problem. If you DO need to do a join like than, then adding memory is again the only solution.&lt;/P&gt;&lt;P&gt;Mind you, if it IS 1:1 with each table having the same unique ID, why are they in separate tables in the first place? (Not saying it's necessarily wrong - one of our source systems often has multiple actual tables all keyed by the same ID for various performance and memory reasons. I'll typically join them when building QVDs rather than when loading QVDs, but that doesn't solve your problem, just moves it to a different script.)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 May 2010 18:41:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159788#M34296</guid>
      <dc:creator>johnw</dc:creator>
      <dc:date>2010-05-20T18:41:09Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159789#M34297</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There are no synthetic keys.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 May 2010 08:39:38 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159789#M34297</guid>
      <dc:creator />
      <dc:date>2010-05-21T08:39:38Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159790#M34298</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your answer!&lt;/P&gt;&lt;P&gt;If I load the two tables together without a join between them the present quantity of ram results to be enough. Here is the schema of my script:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE style="overflow-x: scroll;"&gt;&lt;PRE style="margin: 0px;"&gt;&lt;BR /&gt;qualify *;&lt;BR /&gt;unqualify A_field;&lt;BR /&gt;LOAD A_field, B_field FROM X_table.qvd (qvd);&lt;BR /&gt;join LOAD A_field, C_field FROM Y_table.qvd (qvd);&lt;BR /&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;P&gt;Then I expect the join is made on A_field. Is that right or am I making some mistakes? The tables come from an existing database which can't be changed. Thanks again for all your help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 May 2010 09:31:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159790#M34298</guid>
      <dc:creator />
      <dc:date>2010-05-21T09:31:01Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159791#M34299</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Any other ideas welcomed! Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 May 2010 15:34:34 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159791#M34299</guid>
      <dc:creator />
      <dc:date>2010-05-21T15:34:34Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159792#M34300</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do you have a lot of number fields??&lt;/P&gt;&lt;P&gt;I have an idea from one of the Qliktech consultants to purge the trailing zeros after the decimal, which reduces atleast some of the memory consumption.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 May 2010 15:37:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159792#M34300</guid>
      <dc:creator>boorgura</dc:creator>
      <dc:date>2010-05-21T15:37:21Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159793#M34301</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your answer, but unfortunately the original data can't be modified. I have to find another solution.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 May 2010 15:47:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159793#M34301</guid>
      <dc:creator />
      <dc:date>2010-05-21T15:47:21Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159794#M34302</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The original data need not be modified... But you can have them altered just before storing into QVDs.&lt;/P&gt;&lt;P&gt;If you have a situation where you should not even do that. Then this would not help you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 May 2010 17:11:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159794#M34302</guid>
      <dc:creator>boorgura</dc:creator>
      <dc:date>2010-05-21T17:11:17Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159795#M34303</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="jive_text_macro jive_macro_quote" jivemacro="quote"&gt;&lt;BR /&gt;b wrote:qualify *;&lt;BR /&gt;unqualify A_field;&lt;BR /&gt;LOAD A_field, B_field FROM X_table.qvd (qvd);&lt;BR /&gt;join LOAD A_field, C_field FROM Y_table.qvd (qvd);&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;P&gt;Is A_field a unique identifier on each table? Each value of A_field occurs only once on each table? Or can a value of A_field appear multiple times on each table? If multiple times, you're getting a many to many join which can vastly inflate the number of rows. Here's a quick example:&lt;/P&gt;&lt;P style="padding-left:30px;"&gt;X_table:&lt;BR /&gt;A_field, B_field&lt;BR /&gt;A, B&lt;BR /&gt;A, C&lt;BR /&gt;B, D&lt;/P&gt;&lt;P style="padding-left:30px;"&gt;Y_table:&lt;BR /&gt;A_field, C_field&lt;BR /&gt;A, X&lt;BR /&gt;A, Y&lt;BR /&gt;B, Z&lt;/P&gt;&lt;P&gt;Your join would produce this:&lt;/P&gt;&lt;P style="padding-left:30px;"&gt;A_field, X_table.B_field, Y_table.C_field&lt;BR /&gt;A, B, X&lt;BR /&gt;A, B, Y&lt;BR /&gt;A, C, X&lt;BR /&gt;A, C, Y&lt;BR /&gt;B, D, Z&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 May 2010 18:51:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159795#M34303</guid>
      <dc:creator>johnw</dc:creator>
      <dc:date>2010-05-21T18:51:49Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159796#M34304</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your suggestion, but I can't do that because those QVDs are automatically created and need for other projects.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 May 2010 08:10:16 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159796#M34304</guid>
      <dc:creator />
      <dc:date>2010-05-24T08:10:16Z</dc:date>
    </item>
    <item>
      <title>Join large tables</title>
      <link>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159797#M34305</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot for all your answers John.&lt;/P&gt;&lt;P&gt;I have just tried a left join (A_field occurs only once in Y_table) without any good result. Again, if I try a limited load (let's say 10000 rows) everything works well. Then is adding more RAM the only solution or can I try something else?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 May 2010 11:05:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Join-large-tables/m-p/159797#M34305</guid>
      <dc:creator />
      <dc:date>2010-05-26T11:05:21Z</dc:date>
    </item>
  </channel>
</rss>

