資訊中心
架設自己的服務器,通常包括三(作用)類型服務器:WEB,FTP,MAIL,這三類型服務器,而這三類服務器完全可以集合在一臺硬件服務器上。很多服務不會對公網(wǎng)開放,比如數(shù)據(jù)庫,只允許內(nèi)網(wǎng)機器訪問,不然太不安全。所以存儲過程在實際例子中更加重要,服務器存儲過程:就是一些 編譯好了的 sql 語句,這些 SQL 語句代碼像一個方法一樣實現(xiàn)一些功能(對單表或多表的增刪改查),然后再給這個代碼塊取一個名字,在用到這個功能的時候調(diào)用他就行了。
1.存儲過程因為 SQL 語句已經(jīng) 預編譯過了,因此運行的速度比較快。
2.存儲過程在服務器端運行,減少客戶端的壓力。
3. 允許模塊化程序設計,就是說 只需要創(chuàng)建一次過程,以后在程序中就可以 調(diào)用該過程任意次 ,類似方法的復用。
4. 減少網(wǎng)絡流量,客戶端調(diào)用存儲過程只需要傳存儲過程名和相關參數(shù)即可,與傳輸 SQL 語句相比自然數(shù)據(jù)量少了很多。
5. 增強了使用的安全性,充分利用系統(tǒng)管理員可以對執(zhí)行的某一個存儲過程進行權限限制,從而能夠實現(xiàn)對某些數(shù)據(jù)訪問的限制,避免非授權用戶對數(shù)據(jù)的訪問,保證數(shù)據(jù)的安全。程序員直接調(diào)用存儲過程,根本不知道表結構是什么,有什么字段,沒有直接暴露表名以及字段名給程序員。
調(diào)試麻煩(至少沒有像開發(fā)程序那樣容易),可移植性不靈活(因為存儲過程是依賴于具體的數(shù)據(jù)庫)。也可以了解關于數(shù)據(jù)存儲的七個技巧。
存儲過程的作用不只在資源消耗上。現(xiàn)在,你的程序有兩種方式登錄,一種是在web端登錄,一種是原生client端登錄。假設,web端是使用java web實現(xiàn),client端是使用visual c++來實現(xiàn)。如果,java web 和 visual c++在登錄的時候都調(diào)用login_user_and_result(),就可以保持用戶一致的登錄行為,避免開發(fā)人員分別實現(xiàn)導致其他問題。其實,你還可以給存儲過程添加各種數(shù)據(jù)庫級別的權限,統(tǒng)一控制登入權限。
小結:總之存儲過程是好東西,在做項目時屬于必備利器。在服務器硬件選購、確定服務器內(nèi)存類型、服務器硬盤類型、服務器硬盤容量、服務器結構前我們站長首先要考慮的是將來服務器存儲過程中會遇到的實際例子。