Частичная перезагрузка
Полная перезагрузка всегда начинается с удаления всех таблиц в существующей модели данных, после чего выполняется скрипт загрузки.
При частичной перезагрузке это не делается. Вместо этого все таблицы в модели данных сохраняются, и затем выполняются только операторы Load и Select, которым предшествует префикс Add, Merge или Replace. Другие таблицы данных не затрагиваются командой. Аргумент only обозначает, что оператор должен быть выполнен только во время частичных перезагрузок и должен быть проигнорирован во время полных перезагрузок. В следующей таблице подводится итог выполнения оператора для частичных или полных перезагрузок.
Оператор | Полная перезагрузка | Частичная перезагрузка |
---|---|---|
Load ... | Оператор будет выполнен | Оператор не будет выполнен |
Add/Replace/Merge Load ... | Оператор будет выполнен | Оператор будет выполнен |
Add/Replace/Merge Only Load ... | Оператор не будет выполнен | Оператор будет выполнен |
Частичная перезагрузка обеспечивает несколько преимуществ по сравнению с полной перезагрузкой:
-
Она быстрее, так как необходимо загружать только недавно измененные данные. При работе с большими наборами данных эта разница существенна.
-
Потребляется меньше памяти, так как загружается меньше данных.
-
Она более надежна, так как запросы исходных данных выполняются быстрее, сокращая риск возникновения проблем с сетью.
Выполните частичную перезагрузку с помощью кнопки Перезагрузить. Для получения дополнительной информации см. Кнопка. Можно также использовать Qlik Engine JSON API.
Ограничение
При частичной перезагрузке могут удаляться значения из данных. Однако это не будет отражено в списке уникальных значений, которые хранятся во внутренней таблице. Поэтому даже после частичной перезагрузки список будет содержать все уникальные значения, которые существовали в поле с момента последней полной перезагрузки, то есть их может быть больше, чем существует сейчас после частичной перезагрузки. Это влияет на вывод функций FieldValueCount() и FieldValue(). Функция FieldValueCount() потенциально может вернуть количество, превышающее текущее количество значений поля.