文章出處

優點:

1. 允許模塊化程序設計。
2.可維護性高,只需創建存儲過程一次并將其存儲在數據庫中,以后即可在程序中調用該過程任意次。存儲過程可獨立于程序源代碼而單獨修改,而不需要更改、測試以及重新部署程序集。
3.運行速度快。存儲過程將比T-SQL批代碼的執行要快。存儲過程是被編譯后存放在數據庫服務器的過程高速緩存中,當使用時,服務器不必再重新分析和編譯它們。
4. 減少網絡流量,在網絡中要發送的數百行代碼,可由一條執行其存儲過程代碼的一條單獨語句就可實現。
5.代碼精簡一致,一個存儲過程可以用于應用程序代碼的不同位置。
6
.更好的版本控制,通過使用 Microsoft Visual SourceSafe 或某個其他源代碼控制工具,您可以輕松地恢復到或引用舊版本的存儲過程。

7.  有安全機制,可授予沒有直接執行存儲過程中語句的權限的用戶,也可執行該存儲過程的權限。另外可以防止用戶直接訪問表,強制用戶使用存儲過程執行特定的任務。


缺點:
1.如果更改范圍大到需要對輸入存儲過程的參數進行更改,或者要更改由其返回的數據,則您仍需要更新程序集中的代碼以添加參數、更新獲取返回值的調用,等等,這時候估計比較繁瑣了。
2.可移植性差
由于存儲過程將應用程序綁定到 SQL Server,因此使用存儲過程封裝業務邏輯將限制應用程序的可移植性。如果應用程序的可移植性在您的環境中非常重要,則將業務邏輯封裝在不特定于 RDBMS 的中間層中可能是一個更佳的選擇。
Sql語句靈活,可移植性強,查詢速度比存儲過程慢些 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()