Перейти к основному содержимому

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:  

Buffer SELECT * from MyTable;

Пример 2:  

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

Пример 3:  

Buffer (incremental) LOAD * from MyLog.log;

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!