替换案例陈述



我有一个函数,可以在具有两个 case 语句的视图上运行。问题是,由于这个 case 语句,运行函数需要 25+ 秒。 因为它应该只需要 ~3 秒(与具有不调用 case 语句的视图的相同函数相比。

案例语句在选择中完成。

有趣的是(对我来说(,如果我将其中一个案例陈述更改为直接的东西,即 D.CARS 而不是

CASE WHEN D.CAR IS NOT NULL 
THEN D.CAR              
ELSE C.CAR
END AS CAR,

然后它加速到 ~3 秒来运行该函数,但显示一些关闭结果。 因此,如果 select 语句中有两个 CASE 语句,则似乎只需要~25 秒。

无论大小写语句的数量如何,填充视图的时间都不少于 1 秒。

有没有办法在获得正确结果的同时加快速度?

为什么不使用COALESCE而不是CASE表达式?

COALESCE(D.CAR, C.CAR) AS CAR

您是否尝试过使用函数而不是 case 语句?

最新更新