程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql存儲過程—1、SQL存儲過程的基礎知識

MySql存儲過程—1、SQL存儲過程的基礎知識

編輯:MySQL綜合教程


MySql存儲過程—1、SQL存儲過程的基礎知識   在深入理解MySq之前,我們先理下一些簡單的問題
  Q:什麼是存儲過程?(stored procedure) A:是一段寫好的SQL代碼,特別的就是它是存在數據庫的目錄裡。所以外部程序可以直接調用數據庫裡面定義好的存儲過程,另外數據庫內部的觸發器(trigger)、或者其他存儲過程也可以調用它。   Q:存儲過程有什麼好處?有什麼壞處? A:  www.2cto.com     先看看好處吧: 1、首先在性能上的提高,比起通過應用程序發送sql語句給數據庫執行,讓數據庫自己內部執行存儲過程效率更高、速度更快(存儲過程將sql編譯好後存在數據庫目錄下);   2、存儲過程還減少了應用程序同服務器自己的信息交互頻率,可以想象在不是使用存儲過程的情況,應用程序需要發送多條sql指令給服務器,而使用存儲過程則只要一條調用存儲過程的語句,然後獲取需要的數據就ok了。 3、存儲過程重用性比較高,並且是透明的,因為保存在數據庫裡面所以對任何應用來說都可以使用。新的應用只需要調用相應的存儲過程就可以得到相應的數據服務。   4、存儲過程也是種安全的做法,數據庫管理員可以對那些沒有權限訪問數據庫中的表格的應用,給他們使用存儲過程的權限來獲得數據服務,可以看到這個時候這些存儲過程好像我們編程裡面的”接口“這個概念。對於安全性要求很高的系統,例如銀行,基本上常用的操作都是通過存儲過程或者函數來進行的,這樣完全對應用”隱藏“了表格。   當然也有壞處:   www.2cto.com   1、存儲過程會使得數據庫占用的系統資源加大(cpu、memory),數據庫畢竟主要用來做數據存取的,並不進行復雜的業務邏輯操作。   2、因為存儲過程依舊是sql,所以沒辦法像編程語言那樣寫出復雜業務邏輯對應的存儲過程。 3、存儲過程不容易進行調試。   4、存儲過程書寫及維護難度都比較大。 了解這些優缺點對我們權衡使用存儲過程有很大的幫助     作者 rdarda

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved