使用Case语句而不是存储过程中的If语句的好处?

时间:2008-10-04 11:01:40

标签: sql sql-server stored-procedures

您是否有任何关于存储过程在使用IF语句或选择使用CASE语句时执行的速度的优缺点?

2 个答案:

答案 0 :(得分:2)

如果可以避免,我尽量不使用IF,因为它们是非事务性的,即您通常无法保证IF的条件在BEGIN... END内仍然有效。 1}}阻止IF

我假设您的意思是在SQL CASE中使用SELECT语句。如果用法是为了避免IF,那么,无论如何都要这样做。

SQL的黄金法则是:让服务器弄清楚如何做事,告诉服务器你想要什么

答案 1 :(得分:2)

不要关心案例和IF语句之间的任何速度差异。因为您正在处理数据库,所以从磁盘写入或读取所花费的时间将使CPU通过IF或Case分支所花费的时间相形见绌。您应该专注于使代码更具可读性和可维护性。