2013-12-18 22 views
0

我有一個存儲過程查詢我的一個表。對於該表,我希望它添加一個由函數計算的值的列。SQL Server - 將表傳遞給函數...怎麼樣?這是一個好主意嗎?

該函數是另一個查詢,其子查詢基於另一個表中的用戶數據。

現在,由於有很多行要進行計算,所以我認爲通過該函數可以反覆查詢每行的相同數據。

我想我可能會查詢存儲過程中的函數所需的數據並將其保存在臨時表中,並將該表傳遞給函數,以便函數實際查詢內存中的小表而不是進行查詢到真正的桌子 - 這樣可以加快速度,並且在我的真正桌子上沒有太多的IO。

我的問題實際上是兩個部分:

  1. 是我在說什麼,甚至有意義?這是一個很好的解決方案,它將使其更快,更高效?或者正在將表數據傳遞給一個功能帶來高成本?
  2. 如何將表格傳遞給函數?

感謝

編輯:

順便說一句 - 這是一個標量函數

+0

部分取決於樂趣ction;它是標量還是表函數?如果表函數是內聯還是多值? –

+0

對不起,我猜應該提到它。這是一個標量函數。 – developer82

+0

當你用標準的順序編碼方式思考時,你的問題更有意義,SQL思想常常需要其他方式 - 我無法從你所說的內容中知道,而是一個視圖,甚至只是一個更好的查詢,它可以執行與功能可能會更好,更快。 – Hogan

回答

相關問題