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