Posted on 2005-03-10 17:24
wxb_nudt 閱讀(4267)
評論(1) 編輯 收藏 所屬分類:
技術(shù)雜談
硬件:CPU P4賽揚(yáng)2.2G,內(nèi)存512M
操作系統(tǒng):Windows XP SP2
數(shù)據(jù)庫:Access2002
軟件環(huán)境:JDK1.4,Eclipse3.01
數(shù)據(jù)庫采用JDBC-ODBC橋的方式連接,XML的訪問采用SAX方式。性能參數(shù)如下:
記錄數(shù) |
XML讀取時間(毫秒) |
數(shù)據(jù)庫讀取時間(毫秒) |
100 |
156 |
94 |
1000 |
500 |
93 |
3000 |
828 |
94 |
5000 |
1000 |
109 |
10000 |
1485 |
94 |
100000 |
9172 |
125 |
很明顯,數(shù)據(jù)庫的性能大大超過XML,XML的數(shù)據(jù)量在超過10000條記錄時訪問時間超過了1秒,性能難以承受。而數(shù)據(jù)庫對數(shù)據(jù)量的增加不太敏感。
幾點(diǎn)說明:
1. Access數(shù)據(jù)庫對于大數(shù)據(jù)量的數(shù)據(jù)是不夠的,要測試海量數(shù)據(jù)最好使用SqlServer之類的專業(yè)數(shù)據(jù)庫;
2. JDBC-ODBC橋的方式是數(shù)據(jù)庫訪問方式中效率最低的,也就是說采用其他方式還可以進(jìn)一步提高數(shù)據(jù)庫的性能。
3. XML的訪問我不是直接寫SAX代碼得到的,而是通過EMF(Eclipse Model Framework)自動生成的代碼得到的,這樣函數(shù)調(diào)用的層數(shù)增多了,對性能有一些影響,不過影響不會太大,對于IO來說,函數(shù)跳轉(zhuǎn)的時間可以忽略不計(jì)。
4. XML應(yīng)該適合小量的數(shù)據(jù)存儲,最好少于10000條記錄,這樣訪問時間可以保持在2秒以下,勉強(qiáng)可以接受。
希望這組數(shù)據(jù)可以對使用XML作為數(shù)據(jù)源的人提供一點(diǎn)啟示。
注意:轉(zhuǎn)載請注明出處!