部分加载
完全重新加载总是从删除现有数据模型中的所有表开始,然后运行加载脚本。
局部重新加载没有该作用。相反,它会保留数据模型中的所有表格,然后仅执行 Load 和 Select 语句,这些语句带有前缀 Add、Merge 或 Replace 前缀。其他数据表不受该命令的影响。only 参数表示只应在部分重新加载期间执行该语句,而在完全重新加载期间应忽略该语句。下表总结了部分和完全重新加载的语句执行情况。
语句 | 完全重新加载 | 部分加载 |
---|---|---|
Load ... | 语句将会运行 | 语句将不会运行 |
Add/Replace/Merge Load ... | 语句将会运行 | 语句将会运行 |
Add/Replace/Merge Only Load ... | 语句将不会运行 | 语句将会运行 |
与完全重新加载相比,部分重新加载有几个好处:
-
速度更快,因为只需要加载最近更改的数据。对于大数据集,差异是显著的。
-
因为加载的数据更少,所以消耗的内存更少。
-
更可靠,因为对源数据的查询运行速度更快,减少了网络问题的风险。
信息注释要使部分重新加载正常工作,必须在触发部分重新加载之前使用数据打开应用程序。
使用重新加载按钮执行部分重新加载。有关更多信息,请参阅按钮。您还可使用Qlik Engine JSON API。
限制
如果在完全重新加载期间存在引用表的命令,但在部分重新加载期间没有,则部分重新加载将失败。
部分重新加载可以从数据中删除值。但是,这不会反映在不同值的列表中,这是一个内部维护的表。因此,在部分重新加载后,列表将包含自上次完全重新加载以来字段中存在的所有不同值,这些值可能会超过部分重新加载后当前存在的值。这会影响 FieldValueCount() 和 FieldValue() 函数的输出。FieldValueCount() 可能返回一个大于当前字段值数量的数字。