freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

jdbc相關(guān)技術(shù)word版(編輯修改稿)

2024-09-13 04:35 本頁面
 

【文章內(nèi)容簡介】 預(yù)先準備語句的 支持. 當程序調(diào)用 時, 由驅(qū)動程序返回一個 PreparedStatement 對象. 當應(yīng)用程序得到它時, 保存這個句柄, 并且在請求完成時, 關(guān)閉 請求之前關(guān)閉這個句柄. 但是, 在連接返回到連接池之后, 以后被同樣或者另一個應(yīng)用程序重用時, 那么, 我們就理論上希望同樣的 PreparedStatement 返回給應(yīng)用程序.J2EE PreparedStatement 緩沖J2EE PreparedStatement 緩沖由 J2EE 服務(wù)器內(nèi)部的連接池管理器使用一個緩沖區(qū)來 實現(xiàn). J2EE 服務(wù)器在連接池中保存一個所有數(shù)據(jù)庫的預(yù)先準備語句的一個列表.當一個程序 調(diào)用一個連接的 prepareStatement 方法時, 服務(wù)器先檢查這個語句是否已經(jīng)有了, 如果 是, 相應(yīng)的 PreparedStatement 就在緩沖區(qū)內(nèi), 就返回給應(yīng)用程序, 如果不是, 請求就 會傳遞給 jdbc 驅(qū)動程序, 請求/預(yù)先準備語句 對象就會加入到緩沖區(qū)里.對于每一個連接我們需要一個緩沖區(qū), 因為這是 jdbc 驅(qū)動程序的工作要求. 任何返回的 preparedStatement 都是針對這個連接的.如果我們要利用緩沖區(qū)的優(yōu)勢, 要使用和前面相同的規(guī)則. 我們需要使用參數(shù)話的查詢, 這樣 它們就會和已經(jīng)在緩沖區(qū)的某一個匹配. 大多數(shù)應(yīng)用程序服務(wù)器都允許你調(diào)整緩沖區(qū)的大小.概要總之, 對于預(yù)先準備語句, 我們應(yīng)該使用參數(shù)化的查詢. 這樣允許數(shù)據(jù)庫重用已經(jīng)存在的訪問 方案, 從而減輕數(shù)據(jù)庫的負擔. 這樣的緩沖區(qū)是這個數(shù)據(jù)庫范圍的, 所以你可以安排你所有的 應(yīng)用程序, 使用相似的參數(shù)化的 SQL, 就會提高這樣的緩沖區(qū)方案的效率, 因為一個應(yīng)用程序 可以使用另一個應(yīng)用程序的語句. 一個應(yīng)用服務(wù)器的優(yōu)勢也在于此, 因為訪問數(shù)據(jù)庫的邏輯應(yīng)該 集中在數(shù)據(jù)訪問層上(OR 映射, 實體bean 或者直接 JDBC).最后, 預(yù)先準備語句的正確使用也讓你利用應(yīng)用程序服務(wù)器的預(yù)先準備語句的緩沖區(qū)的好處. 會提高你的應(yīng)用程序的性能, 因為應(yīng)用程序通過對以前的預(yù)先準備語句的重用減少 JDBC 驅(qū)動程序調(diào)用的次數(shù). 這樣使它能和胖客戶端的效率競爭, 并且去掉了不能保持一個長期 連接的壞處.如果你使用參數(shù)化的預(yù)先準備語句, 就可以提高數(shù)據(jù)庫和你的服務(wù)器端的代碼的效率. 這些提高 都會允許你的應(yīng)用程序提高性能. JDBC性能優(yōu)化jdbc程序的性能主要由兩個因素決定,一是數(shù)據(jù)庫本身的性質(zhì),另一個是與數(shù)據(jù)庫相對獨立的jdbc應(yīng)用程序接口(api)的使用。這里說的是如何正確使用jdbc編程接口,以獲得更好的性能。jdbc主要優(yōu)化有::使用連接池來管理Connection對象:使用批量更新等:正確的從數(shù)據(jù)庫中g(shù)et數(shù)據(jù)等(1)選擇正確的jdbc驅(qū)動程序:jdbcodbc 橋本地api部分 java驅(qū)動jdbc網(wǎng)路協(xié)議純java驅(qū)動jdbc本地協(xié)議最好選擇 jdbc網(wǎng)路協(xié)議純java驅(qū)動 效率比較高 但需要第三方軟件的支持 比如corba weblogic屬于這種類型(2)優(yōu)化Connection對象:設(shè)置適當?shù)膮?shù)(String url,Properties props)。例如:Properties props=new Properties()。(user,wuwei)。(password,wuwei)。(defaultRowPrefectch,30)。(dufaultBatchValue,5)。Connection con=(jdbc:oracle:thin:@hostsString,props)。對象可以通過設(shè)置setDefaultRowPrefetch(int) 和 setDefaultBatchValue(int) 兩個參數(shù)類優(yōu)化連接使用連接池可以自己寫一個連接池,這樣程序的靈活性強,便于移植。 apache項目開發(fā)了一套非常通用而表現(xiàn)非常穩(wěn)定的對象池 設(shè)計了自己的連接池后,在客戶端調(diào)用建立對象:public Object makeObject() throws Exception{()。return (url,username,password)。} 銷毀對象時用:public void destroyObject(Object obj) throws Exception{((Connection)())。}注意幾點:對象池里有沒有回收機制,對象池里有機有容量限制,對象池里有多少個閑置對象(可以釋放)控制事務(wù)的提交最好手動提交事務(wù),不但可以可以保證數(shù)據(jù)原子性,而且對新能提高留下余地。try{(false)。// 代碼用PreparedStatement性能比Statementh好()。(true)。}catch(SQLException e){}finally{//代碼if(connection!=null){()。 }}適當?shù)倪x擇事務(wù)的隔離級別TRANSACTION_READ_UNCOMMITED 性能最高TRANSACTION_READ_COMMITED 快TRANSACTION_REFEATABLE_READ 中等RANSACTION_SERIALIZABLE 慢(3)Statement 優(yōu)化:jdbc3個接口用來處理sql的執(zhí)行,是Statement PreparedStatement CallableStatement提供適當?shù)腟tatement接口批量執(zhí)行sql從數(shù)據(jù)庫批量獲取數(shù)據(jù)。PreparedStatement 比Statement性能要好 主要體現(xiàn)在一個sql語句多次重復(fù)執(zhí)行的情況。PreparedStatemnt只編譯解析一次而Statement每次編譯一次。批量修改數(shù)據(jù)庫Statement 提供方法addBatch(String)和executeBatch()調(diào)用方法為(isnert.....)。(update.....)。()。也可以用PreparedStatement從而更好的提高性能:pstmt=(insert into test_table(......) values(....?))。(1,aaa)。()。(1,bbb)。()。.....()。批量地從數(shù)據(jù)庫中取數(shù)據(jù):通過setFetchSize()和getFectchSize()方法來設(shè)定和查看這個參數(shù),這個參數(shù)對體統(tǒng)的性能影響比較大。這個參數(shù)太小會嚴重地降低程序的性能。Connection Statement ResultSet都有這個參數(shù),他們對性能地影響順序是:ResultSetStatementConnection(4)優(yōu)化ResultSe
點擊復(fù)制文檔內(nèi)容
教學教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1