天天看點

資料庫和XML資料讀取性能比較。

資料庫和XML資料讀取性能比較。 硬體:CPU P4賽揚2.2G,記憶體512M 作業系統:Windows XP SP2 資料庫:Access2002 軟體環境:JDK1.4,Eclipse3.01          資料庫采用JDBC-ODBC橋的方式連接配接,XML的通路采用SAX方式。性能參數如下:

記錄數 XML讀取時間(毫秒) 資料庫讀取時間(毫秒)
100 156 94
1000 500 93
3000 828 94
5000 1000 109
10000 1485 94
100000 9172 125

很明顯,資料庫的性能大大超過XML,XML的資料量在超過10000條記錄時通路時間超過了1秒,性能難以承受。而資料庫對資料量的增加不太敏感。 幾點說明: 1.       Access資料庫對于大資料量的資料是不夠的,要測試海量資料最好使用SqlServer之類的專業資料庫; 2.       JDBC-ODBC橋的方式是資料庫通路方式中效率最低的,也就是說采用其他方式還可以進一步提高資料庫的性能。 3.       XML的通路我不是直接寫SAX代碼得到的,而是通過EMF(Eclipse Model Framework)自動生成的代碼得到的,這樣函數調用的層數增多了,對性能有一些影響,不過影響不會太大,對于IO來說,函數跳轉的時間可以忽略不計。 4.       XML應該适合小量的資料存儲,最好少于10000條記錄,這樣通路時間可以保持在2秒以下,勉強可以接受。 5、     層次型的資料隻能用XML了;關系性資料庫,資料量的大小和對資料庫操作的複雜性。資料量大,并對資料有複雜的查詢、修改等操作,建議用資料庫。另外,資料庫的安全性也要好。 希望這組資料可以對使用XML作為資料源的人提供一點啟示。