Buffer

QVD-filer kan skapas och underhållas automatiskt via prefixet buffer. Detta prefix kan användas på de flesta LOAD- och SELECT-satser i skript. Det anger att en QVD-fil används för att cacha/buffra satsens resultat.

Syntax:  

Buffer [(option [ , option])] ( loadstatement | selectstatement )

option::= incremental | stale [after] amount [(days | hours)]

 

Om inget alternativ används så används den QVD-buffert som skapades när skriptet kördes första gången på obegränsad tid.

QVD-buffertar sparas i C:\ProgramData\QlikTech\QlikView\Buffers som standard.

Normalt avlägsnas QVD-buffertar när de inte längre blir refererade under en fullständig skriptexekvering av det skript som skapade dem. De avlägsnas även när det skript som skapade dem inte längre finns.

Arguments:  

Argument Beskrivning
incremental Med alternativet incremental öppnas möjligheten att enbart läsa in delar av den underliggande filen. Filens tidigare storlek lagras i XML-huvudet i QVD-filen. Detta är särskilt användbart för loggfiler. Alla tidigare inlästa poster läses in från QVD-filen medan nyare poster läses in från originalkällan och en uppdaterad QVD-fil skapas. Observera att alternativet incremental bara kan användas tillsammans med LOAD-satser och textfiler och att incremental load inte kan användas där gamla data ändras eller raderas!
stale [after] amount [(days | hours)] amount är ett tal som anger tidsperioden. Decimaler får användas. Om ingen enhet anges förutsätts dagar.
Alternativet stale after används oftast med databaskällor vars data är svåra att ge en tidsmarkör. Istället anger man hur gammal en QVD-minnesdump kan vara för att få användas. En stale after-sats anger helt enkelt en tidsperiod efter att QVD-bufferten skapades, efter vilken den inte längre kommer att anses vara giltig. Dessförinnan används QVD-bufferten som källa för data och därefter används den ursprungliga datakällan. Därefter uppdateras QVD-buffertfilen automatiskt och en ny period påbörjas.

Limitations:  

Det finns flera begränsningar, den mest anmärkningsvärda är att det måste finnas antingen en fil-LOAD- eller en SELECT-sats i basen för alla komplexa satser.

Example 1:  

Buffer SELECT * from MyTable;

Example 2:  

Buffer (stale after 7 days) SELECT * from MyTable;

Example 3:  

Buffer (incremental) LOAD * from MyLog.log;

Hjälpte den här informationen?

Tack för att du berättar det här. Är det något du vill säga om det här avsnittet?

Varför var informationen inte till hjälp och hur kan vi förbättra den?