SQLite和H2內(nèi)存數(shù)據(jù)庫都比較快。
u 查詢性能:查詢一條記錄 SQLite的性能要優(yōu)于H2。查詢(5000或10000)條 H2的性能要好于SQLite。
u 插入性能:性能差不多快,SQLite略快。
u 更新性能:更新一條記錄 SQLite的性能好于H2。更新多條記錄(有索引),SQLite【0.04s】的性能要好于H2【0.18s】
u 刪除性能:刪除一條記錄.SQLite【非常小】的性能略好于H2【非常小】。刪除多條記錄,SQLite【0.078s】好于H2的【0.12s】
u 啟動時間:都比較快
u 并發(fā)性能:H2的查詢支持一定的并發(fā)性,要強(qiáng)于SQLite。更新和插入,基本上都沒有并發(fā)可言。
總的看來,SQLite的性能要好于H2,但并發(fā)性不如。
另外SQLite一般使用C的API接口訪問,而H2支持JDBC。
并且都可以大多數(shù)主流平臺上
對于C\C++\C#應(yīng)用而言,使用SQLite是更好的選擇。對于Java應(yīng)用,H2是不錯的選擇。
奇怪的兩點(diǎn):
1. 在無索引查詢單條數(shù)據(jù),SQLite的性能【0.375s】要比H2【6.9s】要快非常多。(原因發(fā)現(xiàn)是H2使用Big Long效率差了好多,比起Int)
2. 在無索引查詢多條數(shù)據(jù),SQLite的性能甚至比有索引時還好快一些????。而有索引情況下H2查詢多條數(shù)據(jù)也好于SQLite