Я хочу понять, что является лучшим методом реализации условия "IF" внутри хранимой процедуры.
Я видел, как этот метод широко используется.Что сравнимо с итеративным кодированием ...
declare @boolExpression bit = 1 --True
if @boolExpression = 1
select column from MyTable where group = 10
else
select column from MyTable where group = 20
Я предпочитаю использовать метод на основе множеств ...
declare @boolExpression bit = 1 --True
select column from MyTable where group = 10 and @boolExpression =1
union all
select column from MYTable where group = 20 and @boolExpression =0
Я предпочитаю использовать этот метод, потому что, насколько я понимаю, он создаетповторно используемый план запроса и меньший отток кэша плана.Это факт или выдумка?Какой правильный метод использовать.
Заранее спасибо