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~