在 DSS 工作流程中,SQL 管道是一個混合多個后續配方(每個配方都使用相同 SQL 引擎)的過程。然后,可以執行包含這些集成配方(可能是可視配方和“SQL 查詢”配方)的單個作業活動。
通常,SQL 查詢會轉換為關系代數中的表達式,即一系列關系運算。如果我們一次只執行一項操作,則會產生太多成本,因為我們需要在光盤上創建臨時文件來存儲這些臨時操作的結果。必須創建大型臨時文件并將其存儲在光盤上,但這需要時間并且通常不需要,因為以下過程將立即使用這些文件作為輸入。通常的做法是生成與查詢中特定操作組合的算法相對應的查詢執行代碼,以減少臨時文件的數量。
示例
例如,一種具有兩個輸入文件和一個輸出文件的方法可以對輸入文件執行 JOIN 和兩個 SELECT 操作,并對結果文件執行最終的 PROJECT 操作,而不是單獨實現這些操作中的每一個。我們不創建四個臨時文件,而是應用該方法并僅獲得一個結果文件。流水線或基于流的處理是用于此目的的術語。
結論
為了執行大量操作,通常的做法是動態生成查詢執行代碼。查詢由創建的代碼生成,該代碼包含與不同進程相對應的眾多算法。執行操作后,將生成結果元組并將其用作其他操作的輸入。例如,如果對基本關系的兩個選擇操作后跟一個聯接操作,則每個 SELECT 操作創建的元組將被饋送到流或管道中并用作聯接過程的輸入。
以上就是使用管道組合操作的詳細內容,更多請關注www.92cms.cn其它相關文章!