Preload vs load & drop în QlikView și Qlik Sense

Etichete: , , , ,

Categories: Qlik Sense,QlikView 11,QQblog

În urma unor observații recente și a unor dezbateri interne pe această temă, ne-am hotărât recent să aprofundăm o comparație referitoare la timpul de execuție al unor porțiuni de script cu abordări diferite, dar cu rezultate similare: adăugarea unor coloane calculate suplimentare la un tabel incărcat in Qlik.

Am ales să comparăm ca primă alternativă, așa-numita variantă preload, în care se adaugă în fața unei instrucțiuni load (sau select)  o instrucțiune suplimentară de genul:
load *, <Expresie> as CampNou ;

Alternativa cealaltă: varianta load & drop, în care se reîncărca resident tabela deja incărcată sub alt nume, cu câmpurile calculate noi, după care se aruncă tabela inițială.

Comparația am facut-o pe un calculator obișnuit, fără pretenții, folosind versiunile desktop QlikView 11.2 SR8 și Qlik Sense 2.1.

Ce era  de așteptat, versiunea de script cu preload este mai scurtă și mai elegantă,

față de cea în care folosim comanda load & drop:

În ceea ce privește viteza de procesare, pentru citirea a 1 milion de înregistrări, abordarea preload în QlikView a fost măsurat un timp total de executție de 23 de secunde,

în timp ce varianta în care abordarea load & drop s-a finalizat în 16 secunde, pe același set de date.

În cazul Qlik Sense, citirea celor 1 milion de rânduri a avut loc în mai puțin de 1 minut și din nou, în varianta preload,

citere date_sense_preload

și cu 16 secunde mai puțin în cazul care folosim abordarea load & drop.

citire date_sense_load

Apoi am setat executarea automat, la interval de 2 minute, a celor două variante de script: cu preload și cu load & drop.

Rezultatele au fost stocate într-un fișier qvd. Apoi am prelucrat aceste rezultate și am observat că în medie atunci când este folosită comanda preload, reload-ul durează circa 36-38 de secunde,

 în timp ce atunci când este folosită comanda load & drop, reload-ul datelor durează în medie 25-26 de secunde.

Dar, daca timpul de reload nu este important, varianta preload face totul mai lizibil, adaugand si optiunea de a folosi functii Qlikview alaturi de  comanda SQL SELECT si a unor clauze aditionale WHEREWHILE sau GROUP BY, daca e nevoie.

Ca atare, recomandăm evitarea abordării preload în cazurile în care timpul de reload este prea mare în raport cu constrângerile concrete (mai ales pe cazuri cu date de ordinul sutelor de milioane de rânduri, sau mai mult).

Așteptăm impresiile, comentariile și părerile voastre cu privire la Preload vs. Load & Drop, aici sau pe adresa noastră de mail: mail

Author: Ileana Ciutacu

One Response to "Preload vs load & drop în QlikView și Qlik Sense"

  1. chinmayesri Posted on iunie 2, 2016 at 5:39 pm

    nice post thank you </a

Lasă un răspuns