關(guān)于JAVA的分頁(yè)查詢(xún)操作技術(shù)
Servlet版性能測(cè)試
主要考慮的Servlet版運(yùn)行方式有:
一:Servlet在Web容器中的運(yùn)行機(jī)制
1. 單獨(dú)一個(gè)無(wú)狀態(tài)的Servlet實(shí)例運(yùn)行
即Web容器里的多個(gè)線(xiàn)程調(diào)用一個(gè)Servlet實(shí)例的運(yùn)行方式
2. 多個(gè)Servlet實(shí)例
在Web容器中有多個(gè)Servlet實(shí)例的對(duì)象池,并有多個(gè)Web容器線(xiàn)程來(lái)分別調(diào)用執(zhí)行
二:Servlet 連接數(shù)據(jù)庫(kù)的方式
1. 一對(duì)一
即可每個(gè)Servlet實(shí)例都有直接的數(shù)據(jù)庫(kù)連接。
具體方式有:
1> 在Servlet實(shí)例的每個(gè)處理方法中每次都調(diào)用數(shù)據(jù)庫(kù)連接,然后用此連接進(jìn)行數(shù)據(jù)庫(kù)的查詢(xún)等操作,最后關(guān)閉并釋放此連接。
2> 在Servlet實(shí)例的初始化操作時(shí)就連接一個(gè)“長(zhǎng)”的數(shù)據(jù)庫(kù)連接,直到Servlet實(shí)例在destroy時(shí)關(guān)閉并釋放此數(shù)據(jù)庫(kù)連接。
因?yàn)楝F(xiàn)在的數(shù)據(jù)庫(kù)操作主要是查詢(xún),沒(méi)有對(duì)數(shù)據(jù)庫(kù)的增加、修改等操作,多用戶(hù)業(yè)務(wù)查詢(xún)、Web容器多線(xiàn)程同時(shí)對(duì)一個(gè)Servlet的同一個(gè)數(shù)據(jù)庫(kù)連接進(jìn)行操作應(yīng)該會(huì)沒(méi)有數(shù)據(jù)操作同步等問(wèn)題。
2. 使用Web容器的數(shù)據(jù)源
這里主要是使用Web容器的數(shù)據(jù)源-數(shù)據(jù)庫(kù)連接池。
在理論上這種方式能提供最佳的性能。這是也是測(cè)試各種Web容器產(chǎn)品在數(shù)據(jù)庫(kù)連接池上實(shí)現(xiàn)的性能情況。
這里主要看Web容器的在各種應(yīng)用情況下的最優(yōu)化配置。
Servlet與數(shù)據(jù)源連接的實(shí)現(xiàn)方式:
Servlet直接從Web容器配置中取得數(shù)據(jù)源及其連接對(duì)象,然后通過(guò)此連接對(duì)象來(lái)操作數(shù)據(jù)庫(kù)。對(duì)于數(shù)據(jù)庫(kù)連接對(duì)象的管理由Web容器來(lái)管理。
三:要考慮的問(wèn)題:
1. 大數(shù)據(jù)量傳輸問(wèn)題
大數(shù)據(jù)量通過(guò)Servlet實(shí)例從數(shù)據(jù)庫(kù)中取得并整理后,如何有效的傳輸?shù)娇蛻?hù)端IE,并且Servlet實(shí)例如何有效在Web容器中處理這些大數(shù)據(jù)量。
2. 對(duì)各種JDBC版本的測(cè)試
即不同的數(shù)據(jù)庫(kù)使用其自己專(zhuān)用的JDBC來(lái)連接,在性能上應(yīng)該要好一些。
這里也可比較Weblogic Server中實(shí)現(xiàn)JDBC與各種數(shù)據(jù)庫(kù)(MSSQL、Oracle)專(zhuān)用的差別,從測(cè)試的結(jié)果看出Weblogic Server的技術(shù)實(shí)例以及是否真正做到了數(shù)據(jù)庫(kù)連接等處理的優(yōu)化了嗎。
3. Weblogic Server的優(yōu)化配置
3.1 對(duì)象池配置
包括應(yīng)用邏輯處理對(duì)象的對(duì)象池化以及使用數(shù)據(jù)源時(shí)的數(shù)據(jù)庫(kù)連接對(duì)象池在各種具體應(yīng)用環(huán)境下的優(yōu)化配置。
3.2 線(xiàn)程池配置
以上兩個(gè)方面涉及到對(duì)象池化和串行化處理的策略。
3.3 Weblogic Server 的配置的各種參數(shù)的相應(yīng)情況下的配置
1> JAVA VM (JAVA 虛擬機(jī))參數(shù)在各種應(yīng)用情況下的配置。
2> Weblogic Server 本身的各種參數(shù)配置。
鑒于以上的考慮對(duì)Servlet版的測(cè)試規(guī)劃為以下幾種測(cè)試用例:
序號(hào) 部署包名(*.JAR *.WAR *.EAR 等) 數(shù)據(jù)源配置 Weblogic Server
的配置 預(yù)期結(jié)果 說(shuō)明 可能出現(xiàn)的問(wèn)題和現(xiàn)象
1 ServletQueryForPerConn.war 在每此業(yè)務(wù)處理時(shí)創(chuàng)建數(shù)據(jù)庫(kù)連接,操作完畢后關(guān)閉并釋放。
通過(guò)Web.xml配置文件來(lái)配置JDBC的驅(qū)動(dòng)類(lèi)型和連接。 直接部署ServletQueryForPerConn.jar部署包。
Web容器中只有一個(gè)Serverlet實(shí)例。
建議配置較多的線(xiàn)程數(shù)量。
性能差。
在每此業(yè)務(wù)處理時(shí)創(chuàng)建數(shù)據(jù)庫(kù)連接,操作完畢后關(guān)閉并釋放。
此包中沒(méi)有設(shè)計(jì)到線(xiàn)程同步的有關(guān)代碼。 數(shù)據(jù)庫(kù)很忙(因?yàn)閿?shù)據(jù)庫(kù)要接收頻繁的數(shù)據(jù)庫(kù)連接)。
可能瓶頸在數(shù)據(jù)庫(kù)對(duì)頻繁的連接處理。
數(shù)據(jù)庫(kù)事務(wù)方面:由于是在每次處理時(shí)就調(diào)用數(shù)據(jù)庫(kù)連接并查詢(xún),因此數(shù)據(jù)庫(kù)的事務(wù)處理應(yīng)該是單獨(dú)在一個(gè)獨(dú)立的處理過(guò)程中,與并行的其他線(xiàn)程的處理沒(méi)有關(guān)系。
2 ServletQueryForOnceConn.war Servlet對(duì)象只是的初始化時(shí)連接與數(shù)據(jù)庫(kù)的一個(gè)連接,在以后的操作中式中使用這個(gè)連接。
通過(guò)Web.xml配置文件來(lái)配置JDBC的驅(qū)動(dòng)類(lèi)型和連接。 直接部署ServletQueryForOnceConn.jar包;
Web容器只有一個(gè)Servlet實(shí)例。
建議配置較多的線(xiàn)程數(shù)量。
性能較差。
Servlet對(duì)象只是的初始化時(shí)連接與數(shù)據(jù)庫(kù)的一個(gè)連接,在以后的操作中式中使用這個(gè)連接。
此包中沒(méi)有設(shè)計(jì)到線(xiàn)程同步的有關(guān)代碼。 數(shù)據(jù)庫(kù)連接只有一個(gè)。
可能瓶頸在Web容器的多個(gè)線(xiàn)程對(duì)同一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象的同步等處理(這些同步處理是Web容器自己管理的)。
可能出現(xiàn)查詢(xún)的數(shù)據(jù)在多個(gè)客戶(hù)請(qǐng)求中打亂(因?yàn)橥瑫r(shí)使用同一個(gè)數(shù)據(jù)庫(kù)通信通道);
并且多個(gè)線(xiàn)程(單獨(dú)的處理單元)可能會(huì)在同一個(gè)處理事務(wù)中,可能各個(gè)處理單元會(huì)串行操作數(shù)據(jù)庫(kù)(這要看數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn)了)。
3 ServletQueryForConnPool.war 直接使用Web容器的數(shù)據(jù)源和數(shù)據(jù)庫(kù)連接池。 配置數(shù)據(jù)源及數(shù)據(jù)庫(kù)連接池。
建議根據(jù)實(shí)際情況優(yōu)化配置數(shù)據(jù)源和連接池。如可建立多個(gè)連接池等配置。 性能好。 Servlet實(shí)例不管數(shù)據(jù)庫(kù)連接,而是直接從Web容器中取得數(shù)據(jù)庫(kù)連接。數(shù)據(jù)庫(kù)的連接對(duì)象有Web容器全權(quán)管理。
此包中沒(méi)有設(shè)計(jì)到線(xiàn)程同步的有關(guān)代碼。 對(duì)Web容器的數(shù)據(jù)庫(kù)連接池的配置可能要根據(jù)具體情況進(jìn)行有效的調(diào)整(如數(shù)據(jù)庫(kù)連接對(duì)象個(gè)數(shù)和Web容器配額的線(xiàn)程個(gè)數(shù)的關(guān)系等)。如果配置不佳可能是性能瓶頸在Web容器或者在數(shù)據(jù)庫(kù)方。
4 ServletQueryForConnPool.war
(同測(cè)試3) 同測(cè)試3 Web容器的數(shù)據(jù)源重新配置為數(shù)據(jù)庫(kù)產(chǎn)品專(zhuān)用的JDBC驅(qū)動(dòng)器。 性能好。 測(cè)試目的是比較各種不同的JDBC數(shù)據(jù)連接驅(qū)動(dòng)器的性能,以便得出根據(jù)不同的數(shù)據(jù)庫(kù)產(chǎn)品選擇最佳的JDBC驅(qū)動(dòng)器。
只測(cè)試數(shù)據(jù)庫(kù)產(chǎn)品提供的專(zhuān)用JDBC驅(qū)動(dòng)器。
(說(shuō)明:因?yàn)闇y(cè)試3在理論上性能是最好,因此選用測(cè)試3。測(cè)試方法和測(cè)試3一樣,這樣才有可比性。) 同測(cè)試3。
5 servletQueryDS_Cache.war 同測(cè)試3 同測(cè)試3 性能一般
使用一變量來(lái)緩存查詢(xún)的數(shù)據(jù),用戶(hù)以后的分頁(yè)查詢(xún)查詢(xún)操作是直接從此緩存中取得的。
這種方式對(duì)Web容器的內(nèi)存要求高,效果不是很好,對(duì)數(shù)據(jù)量查詢(xún)小的效果可能會(huì)好些。 優(yōu)點(diǎn):
減少的了對(duì)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的次數(shù)。
缺點(diǎn):
需要較大的內(nèi)存。對(duì)Weblogic容器的內(nèi)存要求高,對(duì)于有大量用戶(hù)的查詢(xún)操作,并且查詢(xún)的結(jié)果集較大時(shí),可能對(duì)整個(gè)系統(tǒng)的性能是個(gè)很大的瓶頸。
對(duì)大量數(shù)據(jù)的分頁(yè)處理
問(wèn)題描述:
背景1:一客戶(hù)通過(guò)IE請(qǐng)求Web服務(wù)器查詢(xún)數(shù)據(jù),而查詢(xún)結(jié)果是上千條甚至是上萬(wàn)條記錄,要求查詢(xún)結(jié)果傳送到IE客戶(hù)端并分頁(yè)顯示。
背景2:一客戶(hù)通過(guò)IE或者其他方式請(qǐng)求Web服務(wù)器查詢(xún)數(shù)據(jù),而查詢(xún)結(jié)果是上千條甚至是上萬(wàn)條記錄,并要求查詢(xún)結(jié)果把包傳送到客戶(hù)的E-mail中。
問(wèn):對(duì)于這樣的有大量數(shù)據(jù)的結(jié)果集,在Web服務(wù)器端如何有效的處理?
可能涉及到的問(wèn)題:
1. 內(nèi)存占用
大量數(shù)據(jù)的結(jié)果集,可能要
2. 傳輸速度及策略
具體的分頁(yè)處理技術(shù)
序號(hào) 名稱(chēng) 處理方法 針對(duì)的數(shù)據(jù)庫(kù) 例子說(shuō)明 備注
1 游標(biāo)查詢(xún) 直接使用ResultSet來(lái)處理。ResultSet是直接在數(shù)據(jù)庫(kù)上建立游標(biāo),然后通過(guò)ResultSet的行位置定位接口來(lái)獲得指定行位置的記錄。
當(dāng)用戶(hù)第一請(qǐng)求數(shù)據(jù)查詢(xún)時(shí),就執(zhí)行SQL語(yǔ)句查詢(xún),獲得的ResultSet對(duì)象及其要使用的連接對(duì)象都保存到其對(duì)應(yīng)的會(huì)話(huà)對(duì)象中。
以后的分頁(yè)查詢(xún)都通過(guò)第一次執(zhí)行SQL獲得的ResultSet對(duì)象定位取得指定行位置的記錄。
最后在用戶(hù)不再進(jìn)行分頁(yè)查詢(xún)時(shí)或會(huì)話(huà)關(guān)閉時(shí),釋放數(shù)據(jù)庫(kù)連接和ResultSet對(duì)象等數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)資源。
說(shuō)明:在用例分頁(yè)查詢(xún)的整個(gè)會(huì)話(huà)期間,一個(gè)用戶(hù)的分頁(yè)查詢(xún)就要占用一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象和結(jié)果集的游標(biāo),這種方式對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)資源占用比較大,并且其利用率不是很高。 所有的數(shù)據(jù)庫(kù)產(chǎn)品。 優(yōu)點(diǎn):
減少了數(shù)據(jù)庫(kù)連接對(duì)象的多次分配獲取,減少了對(duì)數(shù)據(jù)庫(kù)的SQL查詢(xún)執(zhí)行。
缺點(diǎn):
占用數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)資源-數(shù)據(jù)庫(kù)連接對(duì)象,并占用了數(shù)據(jù)庫(kù)上的資源-游標(biāo)。而這些資源都是十分寶貴的有限制的。
結(jié)論:
這種的數(shù)據(jù)庫(kù)查詢(xún)分頁(yè)處理方式不是最佳的。一般不適用這種方式。
2 定位行集SQL查詢(xún) 主要是直接使用數(shù)據(jù)庫(kù)產(chǎn)品的提供的對(duì)查詢(xún)的結(jié)果集可定位行范圍的SQL接口技術(shù)。
在用戶(hù)的分頁(yè)面查詢(xún)請(qǐng)求中,每次可取得查詢(xún)請(qǐng)求的行范圍的參數(shù),然后使用這些參數(shù)生產(chǎn)取得指定行范圍的的SQL查詢(xún)語(yǔ)句,然后每次請(qǐng)求獲得一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象并執(zhí)行SQL查詢(xún),把查詢(xún)的結(jié)果返回給用戶(hù),最后釋放說(shuō)有的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)資源。
說(shuō)明:這種方式需要每次請(qǐng)求時(shí)都要執(zhí)行數(shù)據(jù)庫(kù)的SQL查詢(xún)語(yǔ)句;對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)資源是使用完就立即釋放,不白白占用數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)資源。 對(duì)特定(提供了對(duì)查詢(xún)結(jié)果集可定位功能的)的數(shù)據(jù)庫(kù)產(chǎn)品。
如:Oracle,DB2, PostgreSQL,mySQL等。(MS SQL Server 沒(méi)有提供此技術(shù)。) 如:
1. Oracle數(shù)據(jù)庫(kù)使用關(guān)鍵字:rowid或rownum
2. DB2:
rowid或rownum ()
3. PostgreSQL 使用LIMIT 和 OFFSET
4. MySQL 使用Limit 優(yōu)點(diǎn):
這種技術(shù)是直接使用數(shù)據(jù)庫(kù)產(chǎn)品自己提供的可對(duì)查詢(xún)結(jié)果集定位行范圍過(guò)濾的功能,因此直接利用了數(shù)據(jù)庫(kù)的性能對(duì)此分頁(yè)查詢(xún)的優(yōu)化功能。
對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)資源(數(shù)據(jù)庫(kù)連接對(duì)象,數(shù)據(jù)庫(kù)游標(biāo)等)沒(méi)有浪費(fèi),這些資源的充分重復(fù)的利用。
對(duì)查詢(xún)的結(jié)果對(duì)Web容器沒(méi)有什么特別要求。
缺點(diǎn):
要執(zhí)行多次數(shù)據(jù)庫(kù)SQL查詢(xún)操作。對(duì)每次的分頁(yè)面操作請(qǐng)求都要指定相應(yīng)范圍的結(jié)果集來(lái)執(zhí)行SQL語(yǔ)句的數(shù)據(jù)庫(kù)查詢(xún)操作,這對(duì)數(shù)據(jù)庫(kù)有一定的影響。
對(duì)每次分頁(yè)面查詢(xún)請(qǐng)求要頻繁的從Web容器中獲得數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)資源(數(shù)據(jù)庫(kù)連接對(duì)象和數(shù)據(jù)庫(kù)游標(biāo))。
要依賴(lài)于具體的數(shù)據(jù)庫(kù)產(chǎn)品。因?yàn)閷?duì)沒(méi)有實(shí)現(xiàn)沒(méi)有提供此技術(shù)的數(shù)據(jù)庫(kù)產(chǎn)品不能使用此方式。
結(jié)論:
由于每次對(duì)數(shù)據(jù)庫(kù)的SQL查詢(xún)操作相對(duì)而言耗用的數(shù)據(jù)資源比較少,并且在實(shí)際用戶(hù)的操作中,有可能用戶(hù)對(duì)查詢(xún)的所有結(jié)果集只是需要查看其中的部分頁(yè)面。
因此這種方式是最佳的。
3 特別處理的定位行集SQL查詢(xún) 這種方式是在方式2的基礎(chǔ)上針對(duì)不提供對(duì)查詢(xún)結(jié)果集行范圍定位的數(shù)據(jù)庫(kù)產(chǎn)品。
其在Web容器端的操作邏輯大致和方式2相同。
只是先要對(duì)要查詢(xún)的數(shù)據(jù)庫(kù)表要有一字段的數(shù)據(jù)能區(qū)別每條不同的數(shù)據(jù)記錄。第一次查詢(xún)時(shí),獲得用來(lái)可唯一標(biāo)識(shí)不同記錄的字段的所有結(jié)果集,并緩存起來(lái)以備后面的分頁(yè)面查詢(xún)指定要查詢(xún)的結(jié)果集的行范圍。 主要是針對(duì)不同對(duì)查詢(xún)行集可定位范圍獲得的數(shù)據(jù)庫(kù)產(chǎn)品,如MS SQL Server等。 假設(shè)從A,B,C三個(gè)表中選取數(shù)據(jù)。且A有字段ID用來(lái)可唯一區(qū)別不同的記錄。
那么第一次查詢(xún)的時(shí)候,會(huì)查詢(xún)兩次1. select A.id from A,B,C where condition.
2. 把A的ID緩存到SESSION中?3.從Session中。現(xiàn)可按照次序來(lái)取得相應(yīng)頁(yè)面范圍的ID來(lái),并構(gòu)造下一個(gè)查詢(xún)語(yǔ)句:select A.name, B.add from A,B,C where condition && (
A.ID in 本頁(yè)面范圍的 ID )
以后每次翻頁(yè)的時(shí)候,依次獲得對(duì)應(yīng)頁(yè)的ID只要表中唯一的就可以了。無(wú)所謂大小,順序?這樣,SESSSION緩存的就只是一列而不是所有列了。當(dāng)然,對(duì)于列數(shù)不多的,效果并不好。
也可使用存儲(chǔ)過(guò)程實(shí)現(xiàn),可參照:http://expert.csdn.net/Expert/topic
/2365/2365596.xml?temp=.7529261
優(yōu)點(diǎn):
同方式2
缺點(diǎn):
同方式2;
還要在要查詢(xún)的數(shù)據(jù)庫(kù)表中建立一個(gè)相應(yīng)的ID,用來(lái)唯一區(qū)別每條記錄。
結(jié)論:
同方式2。
4 緩存一次SQL查詢(xún)的結(jié)果集 優(yōu)點(diǎn):
缺點(diǎn):
既然我們要緩存結(jié)果,那么用戶(hù)就可能會(huì)看到過(guò)期的數(shù)據(jù)
說(shuō)明:對(duì)于實(shí)際情況的應(yīng)用來(lái)說(shuō),一般結(jié)合實(shí)際情況,結(jié)合使用方式2(或方式3)和方式4。如:一個(gè)應(yīng)用場(chǎng)景:對(duì)公司的產(chǎn)品的查詢(xún)是經(jīng)常的,但是產(chǎn)品的種類(lèi)不是很多,這時(shí)可使用緩存方式;但是對(duì)有些查詢(xún)結(jié)果集較大,數(shù)據(jù)庫(kù)和Web容器之間的網(wǎng)絡(luò)訪(fǎng)問(wèn)由可能是遠(yuǎn)程的,這時(shí)候可考慮使方式2(或者方式3)。
測(cè)試用例代碼實(shí)現(xiàn)說(shuō)明
一:測(cè)試用例3-ServletQueryForConnPool 版本
1.結(jié)構(gòu)圖
2.代碼實(shí)現(xiàn)結(jié)構(gòu)
3.運(yùn)行時(shí)序圖
4.測(cè)試運(yùn)行情況說(shuō)明
4.1 數(shù)據(jù)庫(kù)連接和數(shù)據(jù)庫(kù)游標(biāo)占用可能比較大
由于數(shù)據(jù)庫(kù)的查詢(xún)及其分頁(yè)處理是直接使用JDBC的,并在分頁(yè)中是使用RseultSet的查詢(xún)結(jié)果集-游標(biāo)形式實(shí)現(xiàn)的,并且每個(gè)客戶(hù)對(duì)應(yīng)一個(gè)會(huì)話(huà),每個(gè)會(huì)話(huà)對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)連接和一個(gè)結(jié)果集(游標(biāo)),數(shù)據(jù)庫(kù)連接和游標(biāo)是在會(huì)話(huà)終止時(shí)才釋放的。因此在多個(gè)客戶(hù)的請(qǐng)求過(guò)程中,可能對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)資源(數(shù)據(jù)庫(kù)連接和用于數(shù)據(jù)操作的游標(biāo))占用比較大。
因此數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)及其數(shù)據(jù)庫(kù)的處理可能是個(gè)瓶頸。
4.2 資源沒(méi)有釋放的問(wèn)題
會(huì)話(huà)對(duì)應(yīng)的數(shù)據(jù)庫(kù)連接和游標(biāo)可能在會(huì)話(huà)終止時(shí)沒(méi)有釋放。
為了更好的體現(xiàn)出使用Web容器數(shù)據(jù)庫(kù)連接池的優(yōu)點(diǎn),應(yīng)該合理的設(shè)置連接池中連接對(duì)象的“非活動(dòng)超時(shí)時(shí)間”,建議次值和Servlet對(duì)象的會(huì)話(huà)超時(shí)時(shí)間長(zhǎng)度一直。
5.此測(cè)試用例操作說(shuō)明
5.1 部署的包的位置:
ServletQueryForConnPool.war
5.2 部署
1.通過(guò)Weblogic 的控制臺(tái)工具部署此包
2.相關(guān)的參數(shù)請(qǐng)看ServletQueryForConnPool.war包中的配置文件web.xml中相應(yīng)的servlet配置參數(shù)
5.3 測(cè)試URL
http://Server:port/WebAppName
即:
http://Web服務(wù)器名:端口/Servlet部署的應(yīng)用程序名
二:測(cè)試用例4 ServletQueryForConnPool_cache 版本
1.結(jié)構(gòu)圖
和“一:測(cè)試用例3”相同
2.代碼實(shí)現(xiàn)結(jié)構(gòu)
3.運(yùn)行時(shí)序
說(shuō)明:使用第四種“緩存一次SQL查詢(xún)的結(jié)果集”的分頁(yè)面查詢(xún)技術(shù),即一次SQL查詢(xún),把從數(shù)據(jù)庫(kù)查詢(xún)出來(lái)的結(jié)果保存到會(huì)話(huà)中,以后的客戶(hù)分頁(yè)查詢(xún)操作都從此緩存中取得。
4.測(cè)試運(yùn)行情況說(shuō)明
由于使用的是緩存結(jié)果集的方式,對(duì)Web容器服務(wù)器的內(nèi)存要求比較高,可能在測(cè)試過(guò)程中,Web容器服務(wù)器因內(nèi)存問(wèn)題而影響整個(gè)系統(tǒng)的響應(yīng)性能。
5.此測(cè)試用例操作說(shuō)明
5.1 部署的包的位置:
ServletQueryForConnPool_cache.war
posted on 2008-04-11 16:47 金家寶 閱讀(312) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): MS-SQL