Buffer

QVD ファイルは、buffer プレフィックスを使用して、自動的に作成、管理することができます。このプレフィックスは、ロード スクリプトのほとんどの LOAD および SELECT ステートメントで使用できます。つまり、ステートメントの結果をキャッシュ/バッファする際には、QVD ファイルが使用されます。

Syntax:  

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

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

 

オプションを使用していない場合、最初のスクリプト実行で作成された QVD バッファが無限に使用されます。

QVD バッファはデフォルトで C:\ProgramData\QlikTech\QlikView\Buffers に保存されます。

通常、QVD バッファが削除されるのは、そのバッファを作成したドキュメントのスクリプト全体の実行でバッファが参照されなくなったときと、そのバッファを作成したドキュメントが存在しなくなったときです。

Arguments:  

引数 説明
incremental incremental オプションを使用すると、基底ファイルの一部のみを読み取る機能が有効になります。以前のファイル サイズは、QVD ファイルの XML ヘッダーに保存されます。これは、ログ ファイルで特に便利です。過去にロードされたレコードは、すべて QVD ファイルから読み取られますが、以降の新しいレコードについては元のソースから読み取った上で QVD ファイルを更新します。incremental オプションは LOAD ステートメントとテキスト ファイルでのみ使用でき、古いデータが変更されたり削除されている場合、増分ロードは使用できませんのでご注意ください。
stale [after] amount [(days | hours)] amount は期間を指定する数字で、10 進数を使用できます。単位が省略されている場合は、日数と見なされます。
通常、stale after オプションは、ソース データに一般的なタイムスタンプがない DB ソースで使用します。そのため、それ以外の場合は QVD スナップショットを使用できる期間を指定します。stale after 節は、QVD バッファが作成されてから有効期限切れになるまでの期間を指定します。それまでの間、QVD バッファがデータ ソースとして使用され、期間終了後は元のデータ ソースが使用されます。その後、QVD バッファ ファイルが自動更新され、新しい期間が開始します。

Limitations:  

このスクリプトには、多くの制限が存在します。最も代表的な例としては、複雑なステートメントの核にファイル LOAD または SELECT ステートメントを含めなければならないという条件が挙げられます。

Example 1:  

Buffer SELECT * from MyTable;

Example 2:  

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

Example 3:  

Buffer (incremental) LOAD * from MyLog.log;