1- 在 Where 条件内部或外部影响性能时执行案例,影响单个查询的查询计划,影响单个查询使用的索引的选取。
2- 最好编写 2 个或多个查询,每个查询处理一个 Case when 值的选项,而不是编写一个具有 case when 语句的单个查询。
例子:
Select Acc ,
Case
when Calculation_type = 'M' then Min_value
when Calculation_type = 'E' then Ending_value
Else
Average_BLC
END
From Table
选择
Select Acc , Min_value
From Table
where Calculation_type = 'M'
union all
Select Acc , Ending_value
From Table
where Calculation_type = 'E'
union all
Select Acc , Average_BLC
From Table
where Calculation_type = 'A'