嗨,當使用IF語句或選擇使用CASE語句時,存在與存儲過程執行速度有關的優點/缺點嗎?通過存儲過程中的If語句使用Case語句的好處?
1
A
回答
2
我儘量不使用IF
■如果我能避免它,因爲他們都是非事務性的,也就是你有一般不能保證IF
的狀態仍將是IF
的BEGIN... END
塊內纔有效。
例如,我假設您的意思是在SQL SELECT
中使用CASE
語句。如果用法的目的是爲了避免IF
,那麼一定要這樣做。
SQL的金科玉律是:讓服務器弄清楚如何做的事情,告訴你想要什麼服務器。
2
不要擔心個案與IF語句之間的速度差異。由於您正在處理數據庫,因此從磁盤寫入或讀取所花費的時間將會縮短CPU通過IF或Case分支所花費的時間。您應該專注於使代碼更具可讀性和可維護性。
相關問題
- 1. 存儲過程中的SQL case語句
- 2. 存儲過程使用if語句
- 3. 與if語句的存儲過程
- 4. CASE在SELECT WHERE語句存儲過程?
- 5. linq if語句或存儲過程if語句
- 6. MySQL - 存儲過程 - 在Case語句中使用Case表達式?
- 7. 存儲過程中的Case語句中使用的動態SQL
- 8. 通過IF語句
- 9. IF在SQL Server語句存儲過程
- 10. MySQL存儲過程if語句
- 11. SQL Server存儲過程SELECT語句與幾個IF語句
- 12. 在sql中的存儲過程中使用if語句
- 13. SQL使用存儲過程中的if語句更新表
- 14. 如何在mysql存儲過程中使用case-when語句?
- 15. 在oracle存儲過程中使用CASE語句
- 16. CASE語句在存儲過程中使用DYNAMIC SQL
- 17. SQL存儲過程 - 試圖通過日期和if語句
- 18. 如何使用case語句確定存儲過程中的from和where子句?
- 19. 在IF語句中嵌套Case語句
- 20. 執行語句,預處理語句,存儲過程(Java-MySQL)
- 21. 從存儲過程中的select語句調用存儲過程
- 22. SQL中的IF/CASE語句
- 23. 使用IF語句的MySQL存儲過程
- 24. 在where子句中使用if語句或case語句sql 2012
- 25. MYSQL:使用if語句的過程
- 26. 如何檢查存儲過程的Case語句中的IF條件
- 27. 我如何在SQL存儲過程中使用IF語句
- 28. 準備好的語句和存儲的過程一起使用
- 29. 插入語句中的存儲過程
- 30. 存儲過程中的BETWEEN語句
不知道你想要做什麼的具體細節是不可能回答這個問題的。在像T-SQL這樣的存儲過程語言中,IF和CASE用於完全不同的事情。報表中使用CASE,而IF則不是。 – 2008-10-04 14:43:57