1.可重復使用擴展性和復用性好。
創建完存儲過程以后可以重復調用,不同客戶端可以共用,不用重新編寫,可以隨時修改,調整程序。
2.減少不必要的數據傳輸
首先數據庫是一個c/s程序,這就意味著數據需要在網絡間進行傳輸。對于同一個針對數據庫對象的操作,如果這一操作所涉及到的T-SQL語句被組織成一存儲過程,那么當在客戶機上調用該存儲過程時,網絡中傳遞的只是該調用語句,否則將會是多條SQL語句。從而減輕了網絡流量,降低了網絡負載。(兼顧安全性和效率)
3.安全性
首先是通過訪問權限的限制來實現對數據庫的保護,避免不必要的人員訪問數據;
其次存儲過程減少了注入攻擊的可能,參數化的調用使得數據庫的安全性得到了提升; 4.更快的執行速度
如果某一操作包含大量的T-SQL語句代碼,分別被多次執行,那么存儲過程要比批處理的執行速度快得多。因為存儲過程是預編譯的,在首次運行一個存儲過程時,查詢優化器對其進行分析、優化,并給出最終被存在系統表中的存儲計劃。而批處理的T-SQL語句每次運行都需要預編譯和優化,所以速度就要慢一些。另外針對服務器端的T-SQL是支持邏輯讀取+預讀的,這樣大大提高了數據讀取的速度,反之客戶端的T-SQL不支持這樣的方式。
新聞熱點
疑難解答