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