Go back to the English version of the documentationSQL 回送是如何工作的?
SQL 优化 (SPSS Modeler)
Last updated: 2024年10月07日
来自数据导入节点的流的初始片断是 SQL 生成的主要目标。 当节点遇到无法编译为 SQL 的内容时,会从数据库抽取数据,并进行后续处理。
在流准备期间以及运行之前,SQL 的生成过程按照下列步骤进行:
- 软件对流重新排序,将下游节点移动到“SQL 区域”(如果已证实这样做不会产生问题)。
- 从导入节点向终端节点不断执行操作,将 SQL 表达式逐渐构建起来。 当节点遇到无法转换为 SQL 的内容或者终端节点(例如“表”节点或“图形”节点)转换为 SQL 时,此阶段停止。 在此阶段的最后,每个节点都会带有一个 SQL 语句标签(如果节点及其前面的内容具有对等 SQL 的话)。
- 从具有最复杂对等 SQL 的节点向导入节点反方向不断执行操作,检查 SQL 的有效性。 成功验证的 SQL 将被选择用于执行。
- 将使用流画布上节点旁边的 SQL 图标突出显示所有操作已生成 SQL 的节点。 基于这些结果,您可能希望在合适时进一步重新组织您的流,以充分利用数据库执行。
改进哪些内容?
SQL 回送改善了一些数据操作中的性能:
- 连接(按键合并)。 连接操作可以增强数据库内的优化。
- 汇总。 “汇总”、“分布”和“Web”节点全都使用汇总功能来生成其结果。 汇总后的数据使用的带宽比原始数据要小很多。
- 选择。 根据特定条件选择记录可以减少记录的数量。
- 正在排序。 对记录进行排序是一项耗费资源的活动,在数据库中执行会更有效率。
- 字段派生。 在数据库中生成新字段效率更高。
- 字段预测。 此软件仅从数据库中抽取后续处理所需的字段,这样可以最大限度降低带宽和内存需求。 对于平面文件中的多余字段也是如此:尽管软件必须读取多余的字段,但不会为其分配任何存储。
- 评分。 可以根据决策树、规则集、线性回归以及因子生成的模型生成 SQL。