我用下面在聲明一個變量時使用創建的FUNCTION有什麼好處嗎?
SELECT (
SELECT
CA.FISCALWEEK
FROM
EUUKSQL01.DASHBOARD.DBO.CALENDAR CA
WHERE
CONVERT(DATE,GETDATE()) = CONVERT(DATE,CA.FULLDATE) ) - 1
回到上週的財年的週數。如果我用了很多在查詢中謹此聲明&設置爲@LW等
我也創造了它作爲功能,
使用其中一種方法有什麼好處嗎?
如果使用變量,數據庫將只執行一次查詢,但如果您將該查詢作爲函數創建並從多處調用它,則數據庫將每次都執行該查詢。這意味着設置一個局部變量應該有更好的性能。 –
該函數使代碼可重用。 –
一個視圖是最好的選擇 - 它是可重用的,並提供良好的性能。 – Hogan