在存儲過程的where子句中使用函數調用會降低sql server 2005中的性能?在存儲過程sql server 2005中使用函數調用?
SELECT * FROM Member M
WHERE LOWER(dbo.GetLookupDetailTitle(M.RoleId,'MemberRole')) != 'administrator'
AND LOWER(dbo.GetLookupDetailTitle(M.RoleId,'MemberRole')) != 'moderator'
在此查詢GetLookupDetailTitle是用戶定義的函數和LOWER()是內置的功能我問大約兩個。
絕對沒有足夠的信息!什麼函數調用?我們可以看到SQL嗎? –
將函數應用於where子句中的列會否定使用該列上的任何索引的能力。這通常被稱爲不可查詢的查詢。 –