Stored Procedure的爭議

Stored Procedure的爭議

好處:

1.可進行模組化的程式撰寫。

只要建立一次 Stored Procedure,將它儲存在資料庫中,就可以在讓不同程式呼叫。

2.可加快執行速度。

如果需要大量 T-SQL 程式碼,或需要反覆執行,那麼預存程序的執行速度會比 T-SQL

程式碼的批次處理快。因為 Stored Procedure 是在建立的時候進行剖析和最佳化,

所以只要執行一次 Stored Procedure 後,就可以使用 Procedure 存在記憶體中的

版本。而 T-SQL 陳述式則是每次執行時都要反覆地從用戶端傳到伺服器,而且是在

SQL Server 執行時才進行編譯和最佳化。

3.可減少網路交通量。

即使是需要好幾百行 T-SQL 程式碼的作業,也只要透過一個陳述式就可以執行 Stored

Procedure中的程式碼,而不必在網路上傳送幾百行程式碼。

 

壞處:

1. stored procedure  沒有內建的 OO 處理..

程式一大了重複性就會提高, 所以不好 maintain..

而並非語法自己有問題..

2. stored procedure 跟程式放的位置不同, 處理不同, 所以 build 跟 test 的程序也不同..

對專案的自動化有影響..

3. stroed procedure 不可移植..這對於平台或應用軟體廠商有影響..

4. stored procedure 沒有 refactoring 工具, 沒有先進的 IDE 支援

 

其實管的好,比用什麼更重要~

 

自我LV~