лучший подход для хранимой процедуры - PullRequest
1 голос
/ 04 мая 2011

Мне нужен совет эксперта, что я должен создать отдельную хранимую процедуру для каждой операции, или я должен создать одну хранимую процедуру для всех операций, как показано в примере ниже:

create proc proc_name
@mode int =0,
@othervariables

as
begin
if @mode =1
begin
insert operation
end

else if @mode =2
begin
update operation
end

else if @mode =3
begin
delete operation
end

else if @mode =4
begin
select statement
end
---- other operations
end

Эксперт Мне действительно нужен ваш ценный совет.Скорость будет главной проблемой для моего веб-сайта.их будет меньше операций вставки / обновления и тысячи операций поиска в минуту.

Спасибо

1 Ответ

3 голосов
/ 04 мая 2011

Как правило, вы должны создавать отдельные процедуры.

Часто вы будете использовать различные наборы параметров в зависимости от операции, и будет проще использовать и поддерживать процедуры, которые имеют только те параметры, которые они фактически используют.

Вам следует избегать магических чисел, таких как параметр mode в вашем примере.Гораздо проще увидеть, что происходит с описательными именами процедур, чем с числом в параметре.

Нет никакого существенного прироста производительности, который вы можете сделать, выбрав один или другой подход.

...