Buffer
Файлы QVD могут создаваться и обслуживаться автоматически посредством префикса buffer. Этот префикс может использоваться на большинстве операторов LOAD и SELECT в скрипте. Он указывает на то, что файлы QVD используются для кэширования/буферизации результата оператора.
Синтаксис:
Buffer [(option [ , option])] ( loadstatement | selectstatement )
option::= incremental | stale [after] amount [(days | hours)]
Если не используется ни один параметр, буфер QVD, созданный при первом выполнении скрипта, будет использоваться в течение неопределенного времени.
Файл буфера находится в подпапке Буферы, обычно это C:\ProgramData\Qlik\Sense\Engine\Buffers (установка сервера) или C:\Users\{user}\Documents\Qlik\Sense\Buffers (Qlik Sense Desktop).
Имя файла QVD является вычисляемым именем (160-разрядными шестнадцатеричными случайными данными всего следующего оператора LOAD или SELECT и другой специфической информацией). Это означает, что буфер QVD будет недействительным при любых изменениях в следующем операторе LOAD или SELECT.
Обычно буферы QVD удаляются, если к ним больше не обращаются ни на каком этапе выполнения всего скрипта в приложении, его создавшем, либо в том случае, если приложение, его создавшее, уже не существует.
Аргументы:
Аргумент | Описание |
---|---|
incremental |
Параметр incremental дает возможность прочитать только часть базового файла. Данные о предыдущем размере файла находятся в заголовке XML файла QVD. Это особенно полезно при работе с файлами журнала. Все записи, загруженные в предыдущий раз, считываются из файла QVD, в то время как последующие новые записи считываются из оригинального источника, в результате чего создается обновленный файл QVD. Параметр incremental можно использовать только вместе с предложениями LOAD и текстовыми файлами. Инкрементную нагрузку нельзя использовать в случае изменения или удаления старых данных. |
stale [after] amount [(days | hours)] |
amount — число, обозначающее период времени. Могут использоваться десятичные числа. Единицей измерения являются дни, если не указано. Параметр stale after обычно используется с источниками баз данных, если нет простой метки времени на оригинальных данных. Вместо этого можно указать, насколько старым может быть используемый снимок QVD. Предложение stale after просто указывает период времени с момента создания буфера QVD, после которого он будет считаться недействительным. До этого времени в качестве источника данных будет использоваться буфер QVD, а после этого — оригинальный источник данных. Файл буфера QVD будет автоматически обновлен, и начнется новый период. |
Ограничения:
Среди многочисленных ограничений необходимо отметить наиболее важное, которое заключается в том, что в центре любого составного оператора должен быть оператор для файла LOAD либо SELECT.
Пример 1:
Пример 2:
Пример 3: