2011-05-04 30 views
1

的方法,我需要一個專家的建議,我應該爲每個操作創建單獨的存儲過程或我應該像下面的例子所有操作創建一個存儲過程:更好地爲存儲過程

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 

專家我真的需要你寶貴的建議。速度將是我網站的主要關注點。他們將更少的插入/更新操作和每分鐘數千次的檢索操作。

謝謝

回答

3

通常你應該創建單獨的程序。

通常,您將根據操作使用不同的參數集,並且更容易使用和維護僅包含實際使用參數的過程。

你應該儘量避免像例子中的mode參數那樣的幻數。使用描述性過程名稱比參數中的數字更容易看到發生了什麼。

沒有相關的性能收益,您可以通過選擇一種方法或另一種方法。

+0

感謝您的寶貴意見。 – 2011-05-04 07:18:04

+0

+1對此回覆沒有任何補充 - 總結得非常好。 – 2011-05-04 07:27:40