<?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 Performance enhancement using QVD incremental load in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311804#M710133</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Already got the answer on a different post. The trick is to put the Where clause inside the SQL Select. So:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SQL SELECT *&lt;/P&gt;&lt;P&gt;FROM DPAR.dbo.BookInventory&lt;/P&gt;&lt;P&gt;WHERE BookInventoryID &amp;lt; 13000000;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 28 Jul 2011 17:05:41 GMT</pubDate>
    <dc:creator />
    <dc:date>2011-07-28T17:05:41Z</dc:date>
    <item>
      <title>Performance enhancement using QVD incremental load</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311799#M710128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The advantage of QVD is obviously the speed at which data can be loaded into the QVW. In the script I'm building data is loaded overnight and only data elements which are new need to be loaded from the SQL database in the script and added to the QVD. I thought this would lead to a considerable performance enhancement however I still need to check wether the field info is new or old. Right now I'm using an IF statement based on the value of a Timestamp. Do you have any idea how to make a construction to speed up this process as checking all elements and combining the new ones to the QVD doesn't seem faster then loading all elements from the SQL database. Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Jul 2011 16:08:24 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311799#M710128</guid>
      <dc:creator />
      <dc:date>2011-07-27T16:08:24Z</dc:date>
    </item>
    <item>
      <title>Performance enhancement using QVD incremental load</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311800#M710129</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Post your script so we can look into improving it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Jul 2011 17:27:08 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311800#M710129</guid>
      <dc:creator>danielrozental</dc:creator>
      <dc:date>2011-07-27T17:27:08Z</dc:date>
    </item>
    <item>
      <title>Performance enhancement using QVD incremental load</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311801#M710130</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think using WHERE NOT exists is a lot faster than if statements or distinct.&amp;nbsp; For example if you have the following fields:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;customer_number,&lt;/P&gt;&lt;P&gt;contract_id,&lt;/P&gt;&lt;P&gt;customer_number &amp;amp; '|' &amp;amp; contract_id as 'key',&lt;/P&gt;&lt;P&gt;start_date,&lt;/P&gt;&lt;P&gt;end_date,&lt;/P&gt;&lt;P&gt;timestamp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You could use something like: &lt;/P&gt;&lt;P&gt;WHERE NOT exists(key,customer_number &amp;amp; '|' &amp;amp; contract_id)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The point being that if whatever "key" you use is already loaded, don't load it, otherwise load it.&amp;nbsp; Here's an example I used before:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Table1:&lt;/P&gt;&lt;P&gt;customer_number,&lt;/P&gt;&lt;P&gt;status,&lt;/P&gt;&lt;P&gt;status_update_date,&lt;/P&gt;&lt;P&gt;customer_number &amp;amp; '|' &amp;amp; status &amp;amp; '|' &amp;amp; status_update_date as 'key',&lt;/P&gt;&lt;P&gt;other_stuff,&lt;/P&gt;&lt;P&gt;other_stuff2&lt;/P&gt;&lt;P&gt;FROM wherever&lt;/P&gt;&lt;P&gt;WHERE NOT exists(key, customer_number &amp;amp; '|' &amp;amp; status &amp;amp; '|' &amp;amp; status_update_date);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had a file for each day and I only wanted to load rows where the combination of customer number, status, and status update date had never been loaded.&amp;nbsp; When I used LOAD DISTINCT, it took over 5 hours but when I used WHERE NOT eixsts( it took like an hour and a half.&amp;nbsp; Hopefully that helps.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Jul 2011 17:43:32 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311801#M710130</guid>
      <dc:creator />
      <dc:date>2011-07-27T17:43:32Z</dc:date>
    </item>
    <item>
      <title>Performance enhancement using QVD incremental load</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311802#M710131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there, if your only criteria for loading new information is timestamp, you may try a similar code to the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;let vToday = today() - 1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NewRows:&lt;/P&gt;&lt;P&gt;Load A, B, C, DateTimeField;&lt;/P&gt;&lt;P&gt;select A, B, C DateTimeField&lt;/P&gt;&lt;P&gt;from Table&lt;/P&gt;&lt;P&gt;where DateTimefield &amp;gt;= $(vToday);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OldRows:&lt;/P&gt;&lt;P&gt;Load *&lt;/P&gt;&lt;P&gt;from respository.qvd (qvd)&lt;/P&gt;&lt;P&gt;where not exists(DateTimeField);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Notice that several things are happening here:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the first load we are loading yesterday's and today's information, so only fresh data is being pulled from the database. Notice that you can easily store and load your last successful reload date if the today() -1 approach does not work for you. It is also necessary that you know the exact way in which your date time field in the database is formatted, so you can format the today´s date string propperly in QLikView. For example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Load *;&lt;/P&gt;&lt;P&gt;sql select *&lt;/P&gt;&lt;P&gt;from Table&lt;/P&gt;&lt;P&gt;where&amp;nbsp; DateField &amp;gt;= date '2011-07-27';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the second load, where are loading the historical data storage in qvd, but only does rows that had not been loaded by the first load statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Jul 2011 18:52:22 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311802#M710131</guid>
      <dc:creator />
      <dc:date>2011-07-27T18:52:22Z</dc:date>
    </item>
    <item>
      <title>Performance enhancement using QVD incremental load</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311803#M710132</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;First of all thanks for your help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;@Daniel: I'm still figuring out how i'm gonna script it so I don't have more then small pieces&lt;/P&gt;&lt;P&gt;@Trent&amp;amp;Ivan: I understand the performance improvement for certain cases but it still requires going trough all records. It doesn't actually limit the number of records you load to determine wether a record is new/old/existing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Right now I'm looking into the SQL select to limit the amount of data which is actually pulled into the script. In the normal configuration I would have something like below where a record is loaded depending on a certain treshold.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOAD BookInventoryID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE BookInventoryID &amp;lt; 50000;&lt;/P&gt;&lt;P&gt;SQL SELECT BookInventoryID&lt;/P&gt;&lt;P&gt;FROM DPAR.dbo.BookInventory&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I'm looking for is a limitation of the data set in the SQL select. If I order my records like shown below. I want to go trough the records until the BookInventoryID reaches the treshold and then terminate the load. However I don't no if it is possible to incorporate the while statement (It's not working this way &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/happy.png" /&gt; ) Any thoughts?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOAD BookInventoryID;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SQL SELECT BookInventoryID&lt;/P&gt;&lt;P&gt;WHILE BookInventoryID &amp;lt; 50000&lt;/P&gt;&lt;P&gt;FROM DPAR.dbo.BookInventory&lt;/P&gt;&lt;P&gt;ORDER BY BookInventoryID ASC;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jul 2011 16:04:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311803#M710132</guid>
      <dc:creator />
      <dc:date>2011-07-28T16:04:02Z</dc:date>
    </item>
    <item>
      <title>Performance enhancement using QVD incremental load</title>
      <link>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311804#M710133</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Already got the answer on a different post. The trick is to put the Where clause inside the SQL Select. So:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SQL SELECT *&lt;/P&gt;&lt;P&gt;FROM DPAR.dbo.BookInventory&lt;/P&gt;&lt;P&gt;WHERE BookInventoryID &amp;lt; 13000000;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jul 2011 17:05:41 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Performance-enhancement-using-QVD-incremental-load/m-p/311804#M710133</guid>
      <dc:creator />
      <dc:date>2011-07-28T17:05:41Z</dc:date>
    </item>
  </channel>
</rss>

