小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

業(yè)務(wù)邏輯層與存儲過程優(yōu)缺點對比

 instl 2019-01-21

一,存儲過程

優(yōu)點:

1,減少網(wǎng)絡(luò)帶寬,按理論存儲過程會提高性能.

2,無需重新編譯,更改后即可運行,無需重新編譯代碼

3,由專門的dba寫的sql語句更高效

4,安全性,(在傳輸用戶名密碼時,可防止注入等情況)

 

缺點:

1,依賴于數(shù)據(jù)庫廠商,難以移植(當一個小系統(tǒng)發(fā)展到大系統(tǒng)時,對數(shù)據(jù)庫的要求也會發(fā)生改變)

2,業(yè)務(wù)邏輯大的時候,封裝性不夠,難調(diào)試難以維護

3,復雜的應用用存儲過程來實現(xiàn),就把業(yè)務(wù)處理的負擔壓在數(shù)據(jù)庫服務(wù)器上了。沒有辦法通過中間層來靈活分擔負載和壓力.均衡負載等

 

結(jié):

存儲過程用于進行一些簡單的業(yè)務(wù)邏輯以及數(shù)據(jù)傳送會更好維護,但是在復雜應用時,應交于中間層服務(wù)器處理.所以合適的時候用著合理的操作.




------------

------------

存儲過程:
1.編譯后生成中間代碼,該代碼的執(zhí)行效率遠比客戶端數(shù)據(jù)庫訪問快,但是大多數(shù)高級的數(shù)據(jù)庫系統(tǒng)都有statement cache的,所以編譯sql的花費沒什么影響。但是執(zhí)行存儲過程要比直接執(zhí)行sql花費更多(檢查權(quán)限等),所以對于很簡單的sql,存儲過程沒有什么優(yōu)勢。
2.使用的是服務(wù)器端游標,而客戶端程序使用的是客戶端游標,速度快
3.不需要象 J2EE 的程序那樣要部署,適當?shù)臅r候只需在后臺更新,便于調(diào)試與維護
4.占用網(wǎng)絡(luò)流量較少,如果在存儲過程中沒有多次數(shù)據(jù)交互,那么實際上網(wǎng)絡(luò)傳輸量和直接sql是一樣的。

應用層:
1.一般性的業(yè)務(wù)邏輯應該放在中間層,這對軟件以后的技術(shù)擴展有很多好處,像網(wǎng)格技術(shù),就是基于中間件技術(shù)的。
2、性能擴展性問題:隨著系統(tǒng)訪問量的增長,系統(tǒng)必須進行不斷地升級擴展,特別對于大型系統(tǒng)而言,更重要的是性能可擴展性而不是局部的性能。J2EE等多層結(jié)構(gòu)要解決的也是這方面的問題。處理邏輯如果全部放在存儲過程里,所有的處理都在數(shù)據(jù)庫服務(wù)器上進行,消耗的就是數(shù)據(jù)庫服務(wù)器的CPU資源,大家知道數(shù)據(jù)庫服務(wù)器由于需要較高的可靠性,通常選用的都是價格昂貴的服務(wù)器,對數(shù)據(jù)庫服務(wù)器升級通常都花費很大。如果把處理邏輯放在中間層服務(wù)器上進行,中間層服務(wù)器一般都是小型的機器,價格便宜,而且中間層服務(wù)器的CPU通常主頻比數(shù)據(jù)庫服務(wù)器的速度還快(比如現(xiàn)在8CPU的數(shù)據(jù)庫服務(wù)器主頻只有800M,而雙CPU的刀片式服務(wù)器CPU主頻已經(jīng)到2.8G了),而且對于多層架構(gòu),支持中間層服務(wù)器可以增加多臺機器進行負載均衡,用中間層服務(wù)器即價格便宜,擴展空間也更大。
3、開發(fā)問題:存儲過程還是過程型語言,其重用性比不上JAVA等面向?qū)ο笳Z言開發(fā)。用JAVA開發(fā)的中間層服務(wù)可服用性更好(當然,前提是你采用面向?qū)ο笤O(shè)計)
4. 實際上這個只是要將訪問數(shù)據(jù)庫的接口統(tǒng)一,是用存儲過程,還是EJB,沒太大關(guān)系,也就是說,在三層結(jié)構(gòu)中,單獨設(shè)計出一個數(shù)據(jù)訪問層,同樣能實現(xiàn)這個目標。

總結(jié):
1.存儲過程是基于計算密集型的業(yè)務(wù)邏輯。如果是基于操作密集型的就不要用存儲過程了
2.所有數(shù)據(jù)訪問在應用層封裝為數(shù)據(jù)訪問層,在那里,如果SQL簡單的話,直接用SQL;如果SQL復雜,或者數(shù)據(jù)交互多且中間數(shù)據(jù)最后不會用到,使用存儲過程
3.(對于核心的算法,不變的東西放在前臺程序中。對于容易改變的字典數(shù)據(jù),接口邏輯和配置信息,可以放在后臺用存儲過程來完成。最大好處,也是最終目的是:源程序不改,只改后臺存儲過程就可以瀟灑應付客戶需求的改變。)這個不知道對不對


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多