儲存過程sp的利與弊

2021-08-28 19:27:45 字數 531 閱讀 1718

最近在專案中接觸到儲存過程,所以在思考這樣乙個問題「儲存過程的優缺點到底是什麼,什麼時候適合用儲存過程sp?」,個人查閱相關的一些文章與部落格做了一點總結,純屬個人的乙個記錄,難免會有很多錯誤,有錯的地方還望大家多多指出。

首先,儲存過程可以看成是乙個記錄集,它是由t-sql語句組成的**塊,實現單錶或多表增刪改查功能。那麼相對於程式中寫sql,儲存過程的優點在於:

1.儲存過程只在建立的時候進行編譯,以後**中執行儲存過程不需要編譯,而程式中的sql每執行一次都要編譯一次,因此儲存過程提高了資料庫執行速度(無需編譯)

2.儲存過程可以重複使用

3.**維護性較高,可直接在資料庫中修改儲存過程

4.減少網路傳輸,儲存過程直接在資料庫伺服器中跑,資料訪問都在伺服器內部進行,不需要傳輸資料到其他終端。

當然,儲存過程也存在著明顯的缺點:

1.儲存過程不能除錯,這是乙個很大的弊端,在修改儲存過程時,一定要做好備份。

2.可移植性差,儲存過程會將應用程式繫結到 sql server,因此儲存過程封裝業務邏輯將限制應用程式的可移植性。

PL SQL塊與儲存過程SP的區別

pl sql 是指對標準 sql 的擴充套件,即加上 if loop break 等 流程控制 功能 pl sql 塊就是一坨語句,以便可以用 begin end 括起來 儲存過程是將一坨語句以乙個給定的名字存在資料庫裡,便於重複使用,可以其他物件呼叫 語句塊不一定要存起來的 可以是只執行一次就扔掉...

盡量不要以sp 為字首命名儲存過程

今天在http www.sqlmag.com article articleid 23011 sql server 23011.html裡,發現有提到一點,就是在 ms sql server裡,在命名儲存過程的時候,盡量避免要用sp 這樣的字首開頭,文中的乙個實驗方法我試了下,也的確是這個回事,原因...

盡量不要以sp 為字首命名儲存過程

今天在裡,發現有提到一點,就是在 ms sql server裡,在命名儲存過程的時候,盡量避免要用sp 這樣的字首開頭,文中的乙個實驗方法我試了下,也的確是這個回事,原因是如果假設你在資料庫a裡建立了儲存過程,而以sp x為字首進行命名儲存過程的話,會在尋找的時候,先到master資料庫裡去找的,這...