SQL 回送是如何工作的?

SQL 生成的主要目标是数据导入节点之后的流程初始部分。 当 SPSS Modeler 发现一个无法编译成 SQL 的节点时、 SPSS Modeler 从数据库中提取数据并进行处理。

在流程准备和运行期间,生成 SQL 的过程如下:

  • SPSS Modeler 重新排列流量,将下游节点移动到安全的 "SQL 区域"。
  • SPSS Modeler 从导入节点向终端节点运行,逐步构建 SQL 表达式。
    • SPSS Modeler 到达无法转换为 SQL 的节点,或流程中的终端节点已转换为 SQL(例如表节点或图节点)时,此阶段停止。
    • 为了优化性能,如果 SQL 生成过程中不使用节点的输出,则可以将该节点排除在外。 例如,如果派生节点创建的新列没有在下游矩阵节点中使用,那么派生节点将被排除在 SQL 生成之外。 在 SQL 生成结束时,派生节点旁边不会出现 SQL 图标。
      图 1。 不包括节点的 SQL 生成
      示例说明 SQL 生成过程如何跳过不需要的节点。 图片显示了一个带 SQL 图标的数据资产节点、一个不带 SQL 图标的派生节点和一个带 SQL 图标的矩阵节点。
    • 在此阶段的最后,每个节点都会带有一个 SQL 语句标签(如果节点及其前面的内容具有对等 SQL 的话)。
  • 检查 SQL 是否有效。 SPSS Modeler 从具有最复杂 SQL 对应关系的节点逆向导入节点。 成功验证的 SQL 将被选择用于执行。
  • 所有操作都生成了 SQL 的节点会在流程画布上以节点旁边的 SQL 图标突出显示。 根据结果,您可能需要在适当的地方进一步重组流程,以充分利用数据库执行的优势。

改进哪些内容?

SQL pushback 可提高多项数据操作的性能:

连接(按键值合并)
连接操作可以增强数据库内的优化。
聚集
“汇总”、“分布”和“Web”节点全都使用汇总功能来生成其结果。 汇总后的数据使用的带宽比原始数据要小很多。
选择
根据特定条件选择记录可以减少记录的数量。
排序
对记录进行排序是一项耗费资源的活动,在数据库中执行会更有效率。
领域推导
在数据库中生成新字段效率更高。
实地投影
此软件仅从数据库中抽取后续处理所需的字段,这样可以最大限度降低带宽和内存需求。 对于平面文件中的多余字段也是如此:尽管软件必须读取多余的字段,但不会为其分配任何存储。
评分
可以根据决策树、结果集、线性回归以及因子生成的模型生成 SQL。