国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

用SQLJ開發(fā)數(shù)據(jù)庫(4)

2019-11-18 13:37:59
字體:
供稿:網(wǎng)友

  用SQLJ開發(fā)數(shù)據(jù)庫(4)

   java ( SQLJ和JDBC)與Oracle數(shù)據(jù)庫中的PL/SQL比較:

   Oracle數(shù)據(jù)庫應(yīng)用程序中的使用的Java還不能夠替代PL/SQL。Java和PL/SQL相輔相成,Java ( SQLJ/JDBC)有下列優(yōu)于PL/SQL的地方:Java能夠提供重要的性能優(yōu)勢,Java存儲過程要快5到100倍,這主要取決于程序中使用的數(shù)學(xué)操作符和數(shù)據(jù)類型。理論上說,Java存儲過程可以很輕易的轉(zhuǎn)化成運行在其它數(shù)據(jù)庫上的存儲過程。Java程序可以在一個復(fù)雜的應(yīng)用程序的任何一層上配置∶在客戶端上,在中間層的應(yīng)用程序服務(wù)器上或者在數(shù)據(jù)庫服務(wù)器本身中。Java ( SQLJ/JDBC)也同樣“分享”了PL/SQL的不足之處:PL/SQL與Oracle數(shù)據(jù)庫服務(wù)器緊密地結(jié)合起來,Oracle在近20年的時間中不斷的改進PL/SQL,而Java只在1998年的時候才被引進Oracle 8i。PL/SQL數(shù)據(jù)類型等價于Oracle本地數(shù)據(jù)類型,所以不需要進行數(shù)據(jù)類型的換算。在另一方面,JDBC提出在Java代碼和SQL語句之間插入一個普通的層,而SQLJ是又一個層。PL/SQL工作性能比Java好,因為是以數(shù)據(jù)庫為中心編程:PL/SQL存儲過程比Java程序快1.5倍(對于OLTP聯(lián)機事務(wù)處理)到2.5倍(用于批處理)。此外,Java程序要使用比PL/SQL更多的CPU資源。CPU額外開銷的增加可能是因為要進行一個比較長的編碼過程以及從Oracle到Java的額外的數(shù)據(jù)類型轉(zhuǎn)換。

   一個兩者兼顧達(dá)到最好效果的解決方案

   Oracle提供了一個理想的環(huán)境用于利用PL/SQL和Java語言兩者的優(yōu)點。在一方面,PL/SQL程序可以調(diào)用SQLJ和JDBC存儲過程,答應(yīng)你構(gòu)建基于組件的EJB和CORBA應(yīng)用程序。現(xiàn)有的Java類庫可以很輕易地被利用,并通過使用PL/SQL調(diào)用規(guī)范來整合入數(shù)據(jù)庫代碼開發(fā)過程中。在另一方面,Java程序可以通過JDBC或者SQLJ調(diào)用PL/SQL存儲過程,函數(shù)和匿名的程序塊。我下面想一一具體介紹,SQLJ提供用于調(diào)用下面這些內(nèi)容的語法:

   存儲過程:使用CALL操作符調(diào)用UpdateSalary程序∶


#sql { CALL UpdateSalary };
函數(shù):<0} {0>to call the GetName() function using the VALUES Operator: <}0{>使用VALUES操作符調(diào)用GetName()函數(shù)∶<0}
{0>String name; <}0{>String name;<0}
#sql { name = { VALUES GetName() };
or by using the SET operator:
String name;
#sql { SET :name = GetName() };
{0>Anonymous PL/SQL blocks: <}0{>匿名的PL/SQL程序塊∶<0}
#sql { [DECLARE ...] BEGIN ... END; };

   需要注重的是影響決定使用什么語言的因素,不僅由執(zhí)行效果決定--說得更精確些,一個現(xiàn)今應(yīng)用程序開發(fā)過程中的主要因素,而且由程序員勞動生產(chǎn)率、可獲得的專家的意見和輕便性決定。幸虧對于數(shù)據(jù)庫開發(fā)人員,不必在幾種語言中選來選去,你可以很輕易地把Java ( SQLJ和JDBC)與PL/SQL存儲程序混合搭配進一個數(shù)據(jù)庫來取得一個兩者兼顧達(dá)到最好效果的解決方案。

(未完待續(xù))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 陆川县| 闽清县| 邵阳市| 桐梓县| 荣昌县| 惠水县| 建水县| 安泽县| 措勤县| 申扎县| 泰来县| 大名县| 开化县| 九龙县| 扶绥县| 措美县| 龙口市| 防城港市| 新竹市| 仙游县| 阿城市| 靖江市| 广元市| 宜宾县| 普定县| 当阳市| 平昌县| 黄山市| 霍林郭勒市| 普洱| 深水埗区| 开鲁县| 南昌市| 吴桥县| 大姚县| 都安| 藁城市| 新平| 林芝县| 青神县| 泾源县|