2014-02-13 74 views
0

如果我在select語句中使用SQL函數會影響性能嗎? 我應該在Select語句中使用子查詢還是UDF,在這種情況下,查詢將得到最優化?SQL UDF和查詢優化

+1

此外[請閱讀](http://sqlserverplanet.com/optimization/user-defined-functions-and-performance) –

回答

1

子查詢將會有更好的性能,但UDF在其他查詢中也可以更容易重用。您可以使用它們在一個地方封裝特定的計算或邏輯。如果您需要更改邏輯,則必須僅更改UDF,而不是更改集成該子查詢的所有查詢。 最後,如果在包含大量記錄的查詢中包含函數,您將獲得靈活性,但會失去性能。

+0

哎呀,好的回答... – m0n0ph0n

1

子查詢幾乎總是會比UDF執行得更好。

+1

那麼SQL Server中UDF的用途是什麼?大多數情況下它們適合用於哪些地方? – dnxit

+1

@Afzal從頭開始,您需要重用代碼或需要將複雜邏輯分解爲模塊時。當數據庫很小時,快速部署它更重要,而不必擔心性能。 –