SQL 後推如何運作?
來自資料匯入節點的流程的初始片斷是 SQL 產生的主要目標。 當節點遇到無法編譯為 SQL 的內容時,將從資料庫擷取資料,系統將完成後續處理。
在流程準備期間以及執行之前,SQL 產生程序如下所示進行:
- 軟體對流程重新排序,將下游節點移到「SQL 區域」(可證實這種做法的安全性)。
- 從匯入節點向終端節點不斷執行操作,將SQL 表示式逐漸構建起來。 當節點遇到無法轉換為 SQL 的內容或者終端節點(例如表格節點或圖形節點)轉換為 SQL 時,此階段停止。 在此階段的最後,每個節點都會帶有一個 SQL 陳述式標籤(如果節點及其前面的內容具有對等 SQL 的話)。
- 再從具有最複雜對等 SQL 的節點向匯入節點反方向不斷執行操作,檢查 SQL 的有效性。 成功驗證的 SQL 將被選擇用於執行。
- 在流程畫布上,所有作業已產生 SQL 的節點旁邊會以 SQL 圖示強調顯示。 基於這些結果,您可能希望在合適時進一步重新組織您的流程,以充分利用資料庫執行。
哪些地方有所改進?
SQL 後推在數個資料作業中提升了效能:
- 結合(按索引鍵合併)。 結合作業可以增強資料庫內的最佳化。
- 聚集。 「聚集」、「分佈」和 Web 節點全都使用總計函數來生成其結果。 彙總後的資料使用的頻寬比原始資料要小很多。
- 選擇。 根據特定準則選擇記錄可以減少記錄的數量。
- 排序。 對記錄進行排序是一項耗費資源的活動,在資料庫中執行會更有效率。
- 欄位衍生。 在資料庫中產生新欄位效率更高。
- 現場投影。 該軟體只會從資料庫中擷取進行後續處理所需的欄位,這樣可以最大限度降低頻寬和記憶體需求。 對於純文字檔案中的多餘欄位也是如此:盡管該軟體必須讀取多餘的欄位,但不會為其配置任何儲存器。
- 評分。 可以根據決策樹、結果集、線性迴歸以及因子已產生的模型產生 SQL。