2008-10-04 109 views
1

嗨,當使用IF語句或選擇使用CASE語句時,存在與存儲過程執行速度有關的優點/缺點嗎?通過存儲過程中的If語句使用Case語句的好處?

+2

不知道你想要做什麼的具體細節是不可能回答這個問題的。在像T-SQL這樣的存儲過程語言中,IF和CASE用於完全不同的事情。報表中使用CASE,而IF則不是。 – 2008-10-04 14:43:57

回答

2

我儘量不使用IF■如果我能避免它,因爲他們都是非事務性的,也就是你有一般不能保證IF的狀態仍將是IFBEGIN... END塊內纔有效。

例如,我假設您的意思是在SQL SELECT中使用CASE語句。如果用法的目的是爲了避免IF,那麼一定要這樣做。

SQL的金科玉律是:讓服務器弄清楚如何做的事情,告訴你想要什麼服務器。

2

不要擔心個案與IF語句之間的速度差異。由於您正在處理數據庫,因此從磁盤寫入或讀取所花費的時間將會縮短CPU通過IF或Case分支所花費的時間。您應該專注於使代碼更具可讀性和可維護性。