Buffer

È possibile creare e gestire automaticamente i file QVD mediante il prefisso buffer. Questo prefisso può essere utilizzato in quasi tutte le istruzioni LOAD e SELECT di uno script e indica che i file QVD vengono utilizzati per memorizzare nella cache/nel buffer il risultato dell'istruzione.

Sintassi:  

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

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

 

Se nessuna opzione viene utilizzata, il buffer QVD creato alla prima esecuzione dello script verrà utilizzato indefinitamente.

I buffer QVD vengono memorizzati in C:\ProgramData\QlikTech\QlikView\Buffers per impostazione predefinita.

I buffer QVD vengono normalmente rimossi quando non esistono più riferimenti a essi durante l'intera esecuzione di uno script nel documento che li ha creati oppure quando il documento che li ha creati non esiste più.

Argomenti:  

Argomento Descrizione
incremental L'opzione incremental consente di leggere solo parte di un file sottostante. La dimensione precedente del file viene salvata nell'intestazione XML del file QVD. Queste informazioni risultano particolarmente utili con i file di registro. Tutti i record caricati nell'occasione precedente vengono letti dal file QVD, mentre i nuovi record seguenti vengono letti dalla sorgente originale, quindi viene creato un file QVD aggiornato. È bene ricordare che l'opzione incremental può essere utilizzata solo con istruzioni LOAD e con file di testo e che non è possibile utilizzare il carico incrementale quando sono stati modificati o eliminati dati precedenti.
stale [after] amount [(days | hours)] amount è un numero che specifica l'intervallo di tempo. Possono essere utilizzati valori decimali. Se l'unità viene omessa, verranno utilizzati i giorni.
L'opzione stale after viene utilizzata con sorgenti DB i cui dati originali non dispongono di alcuna indicazione di data e ora semplice. In alternativa, è possibile specificare per quanto tempo conservare lo snapshot QVD. Una clausola stale after dichiara semplicemente l'intervallo di tempo a partire dalla creazione del buffer QVD, trascorso il quale non verrà più considerato valido. Prima di quel tempo, il buffer QVD verrà utilizzato come sorgente dei dati e, trascorso l'intervallo specificato, verrà utilizzata la sorgente dati iniziale. Il file del buffer QVD verrà aggiornato automaticamente, quindi avrà inizio un nuovo intervallo.

Limiti:  

Esistono numerose limitazioni, la più importante delle quali stabilisce che dovrà esistere necessariamente un'istruzione LOAD o SELECT per file alla base di qualsiasi istruzione complessa.

Esempio 1:  

Buffer SELECT * from MyTable;

Esempio 2:  

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

Esempio 3:  

Buffer (incremental) LOAD * from MyLog.log;

Vedere anche: