SQL存儲過程簡介及優點
2012/11/28 14:56:10

      存儲過程是SQL語言中的一種,在大型的數據庫系統中,一系列為了達到某種特定功能的SQL語句。經過重新編譯之后存儲在數據庫中,再通過指定的名字,并且提供參數來執行它。

  一、SQL Server 存儲過程

  Transact-SQL非常類似于Java語言中的方法,它可以重復調用。當存儲過程執行一次后,可以將語句緩存中,這樣下次執行的時候直接使用緩存中的語句。這樣就可以提高存儲過程的性能。

  二、存儲過程的概念

  存儲過程Procedure是一組為了完成特定功能的SQL語句集合,經編譯后存儲在數據庫中,用戶通過指定存儲過程的名稱并給出參數來執行。

  存儲過程中可以包含邏輯控制語句和數據操縱語句,它可以接受參數、輸出參數、返回單個或多個結果集以及返回值。

 



  由于存儲過程在創建時即在數據庫服務器上進行了編譯并存儲在數據庫中,所以存儲過程運行要比單個的SQL語句塊要快。同時由于在調用時只需用提供存儲過程名和必要的參數信息,所以在一定程度上也可以減少網絡流量、簡單網絡負擔。

  三、存儲過程的優點

  1. 存儲過程允許標準組件式編程

  存儲過程創建后可以在程序中被多次調用執行,而不必重新編寫該存儲過程的SQL語句。而且數據庫專業人員可以隨時對存儲過程進行修改,但對應用程序源代碼卻毫無影響,從而極大的提高了程序的可移植性。

  2. 存儲過程能夠實現較快的執行速度

  如果某一操作包含大量的T-SQL語句代碼,分別被多次執行,那么存儲過程要比批處理的執行速度快得多。因為存儲過程是預編譯的,在首次運行一個存儲過程時,查詢優化器對其進行分析、優化并給出最終被存在系統表中的存儲計劃。而批處理的T-SQL語句每次運行都需要預編譯和優化,所以速度就要慢一些。

 


  3. 存儲過程減輕網絡流量

  對于同一個針對數據庫對象的操作,如果這一操作所涉及到的T-SQL語句被組織成一存儲過程,那么當在客戶機上調用該存儲過程時,網絡中傳遞的只是該調用語句,否則將會是多條SQL語句。從而減輕了網絡流量,降低了網絡負載。

  4. 存儲過程可被作為一種安全機制來充分利用

  系統管理員可以對執行的某一個存儲過程進行權限限制,從而能夠實現對某些數據訪問的限制,避免非授權用戶對數據的訪問,保證數據的安全。

  四、系統存儲過程

  系統存儲過程是系統創建的存儲過程,目的在于能夠方便的從系統表中查詢信息或完成與更新數據庫表相關的管理任務或其他的系統管理任務。系統存儲過程主要存儲在master數據庫中,以“sp”下劃線開頭的存儲過程。盡管這些系統存儲過程在master數據庫中,但我們在其他數據庫還是可以調用系統存儲過程。有一些系統存儲過程會在創建新的數據庫的時候被自動創建在當前數據庫中。

返回列表
返回首頁 主站蜘蛛池模板: 壮熊私gay网站的| 最近中文字幕免费mv视频8| 四虎a456tncom| 国产婷婷综合丁香亚洲欧洲| 国语自产拍天天在线| 一区二区在线视频免费观看| 日韩AV无码一区二区三区不卡毛片| 亚洲日韩av无码中文| 看全色黄大色黄女视频| 四虎成年永久免费网站| 黄色福利视频网站| 最新国语自产精品视频在| 亚洲精品无码久久毛片| 精品亚洲综合在线第一区| 国产一级片视频| 黑人巨鞭大战欧美肥妇| 女人与公狗交酡过程高清视频| 久久久久久亚洲av无码专区| 日韩高清特级特黄毛片| 亚洲午夜国产精品| 毛片大片免费看| 伊人久久青草青青综合| 精品国产免费一区二区三区| 国产一区二区三区精品视频| 黄色录像大片毛片aa| 国产精品99久久久久久www| 91久久精品国产免费一区| 天堂资源bt在线官网| 一区二区三区国产最好的精华液| 成年女人免费碰碰视频| 久久久成人影院| 日韩精品亚洲人成在线观看 | 我的极品岳坶34章| 久久亚洲私人国产精品va| 最好看免费中文字幕2019| 亚洲人成影院在线无码按摩店| 欧美日韩国产伦理| 亚洲毛片无码专区亚洲乱| 熟妇人妻不卡中文字幕| 免费a级试看片| 精品久久中文字幕|