sql存儲過程和動態sql的比較
sql存儲過程和動態sql的功能類似,那么,sql存儲過程究竟比動態sql好在哪里呢?下面就將對sql存儲過程和動態sql進行比較,供您參考。
sql存儲過程跟動態sql相比有如下優點:
1、 sql存儲過程允許標準組件式編程
存儲過程在被創建以后可以在程序中被多次調用而不必重新編寫該存儲過程的SQL
語句而且數據庫專業人員可隨時對存儲過程進行修改但對應用程序源代碼毫無影響因
為應用程序源代碼只包含存儲過程的調用語句從而極大地提高了程序的可移植性
2 、sql存儲過程能夠實現較快的執行速度
如果某一操作包含大量的Transaction-SQL 代碼或分別被多次執行那么存儲過程要
比批處理的執行速度快很多因為存儲過程是預編譯的在首次運行一個存儲過程時查
詢優化器對其進行分析優化并給出最終被存在系統表中的執行計劃而批處理的Transaction-
SQL 語句在每次運行時都要進行編譯和優化因此速度相對要慢一些
3 、sql存儲過程能夠減少網絡流量
對于同一個針對數據數據庫對象的操作如查詢修改如果這一操作所涉及到的
Transaction-SQL 語句被組織成一存儲過程那么當在客戶計算機上調用該存儲過程時
網絡中傳送的只是該調用語句否則將是多條SQL 語句從而大大增加了網絡流量降
低網絡負載
4、 sql存儲過程可被作為一種安全機制來充分利用
系統管理員通過對執行某一存儲過程的權限進行限制從而能夠實現對相應的數據訪
問權限的限制避免非授權用戶對數據的訪問保證數據的安全
【編輯推薦】