資料の 英語版 に戻るSQL プッシュバックの仕組み
SQL の最適化 (SPSS Modeler)
最終更新: 2024年10月07日
データ・インポート・ノードから発生するフローの最初のフラグメントが、SQL 生成の主要なターゲットになります。 SQL にコンパイルできないデータがノード内で見つかった場合は、そのデータがデータベースから抽出されてから、後続の処理が実行されます。
フローの準備からフローが実行されるまでの間、SQL 生成プロセスは以下のように実行されます。
- ソフトウェアは、それが安全であると証明できる場合は、フローを並べ替えて、下流ノードを「SQL ゾーン」に移動します。
- SQL 式が、インポート・ノードからターミナル・ノードに向かって増分形式で作成されます。 このフェーズは、SQL に変換できないノードに出会うか、またはターミナル・ノード (テーブル・ノード、グラフ作成ノードなど) が SQL に変換されると停止します。 このフェーズの終わりに、変換の前後で各ノードの SQL が等価な場合、各ノードに SQL ステートメントでラベルが付けられます。
- 最も複雑な SQL 等価物を持つノードを起点として、インポート・ノードへ戻る方向で SQL の妥当性が検証されます。 検証に成功した SQL が、実行用に選択されます。
- すべての操作で SQL が生成されたノードは、フロー・キャンバス上のノードの横に 「SQL」 アイコンで強調表示されます。 この結果に基づいて、データベースの実行が完全に有利になるのに適切なフローをさらに再編できます。
SQL プッシュバックによって改善されるデータ操作
SQL プッシュバックにより、以下に示すデータ操作のパフォーマンスが向上します。
- 結合 (キーによる結合)。 結合操作により、データベース内の最適化が向上します。
- 集約。 集約、配布、および Web ノードは、すべて集計を使用してその結果を生成します。 要約されたデータは、元のデータに比べてかなり低い帯幅を使用します。
- 選択: 特定の基準に基づいてレコードを選択することで、レコードの数量が削減されます。
- ソート。 レコードの並び替えは、データベース内でより効率的に実行されるリソース集約型のアクティビティーです。
- フィールドの派生。 新規フィールドは、データベース内でより効率的に生成されます。
- フィールドのフィルタ: ソフトウェアは、以降の処理に必要なフィールドだけをデータベースから抽出します。これにより、必要な帯域幅とメモリーを最小限に抑えることができます。 同じことが、フラット・ファイルの余分なフィールドに対しても当てはまります。ソフトウェアは余分なフィールドを読み込む必要がありますが、記憶域は割り当てられません。
- スコアリング。 SQL は、デシジョン・ツリー、ルール・セット、線形回帰、および因子生成モデルから生成することができます。