您是否有任何关于存储过程在使用IF语句或选择使用CASE语句时执行的速度的优缺点?
答案 0 :(得分:2)
如果可以避免,我尽量不使用IF
,因为它们是非事务性的,即您通常无法保证IF
的条件在BEGIN... END
内仍然有效。 1}}阻止IF
。
我假设您的意思是在SQL CASE
中使用SELECT
语句。如果用法是为了避免IF
,那么,无论如何都要这样做。
SQL的黄金法则是:让服务器弄清楚如何做事,告诉服务器你想要什么。
答案 1 :(得分:2)
不要关心案例和IF语句之间的任何速度差异。因为您正在处理数据库,所以从磁盘写入或读取所花费的时间将使CPU通过IF或Case分支所花费的时间相形见绌。您应该专注于使代码更具可读性和可维护性。