我在这里找到了很多比较,但不是这个比较; 那么,每个人最好的是什么?
在SQLite的网站上有一个完整的比较.
SQLite受到更多限制,因为它只支持SQL92的一小部分,而Derby(现在是JavaDB)完全支持SQL92和SQL99.
我在我的Websphere Server中执行一个复杂的SQL,它有超过6000行10000次.总净执行时间如下:
Derby (In Memory) Oracle(standard DB) SQLite (In Memory) HSQLDb (In Memory) nano sec. second nano sec. second nano sec. second nano sec. second 1. try 58000000 0,058 6149976000 6,1 1141988000 1,14 999403000 1,00 2. try 78560000 0,078 5268477000 5,2 1182621000 1,18 1338705000 1,34 3. try 58849000 0,058 5200898000 5,2 1133003000 1,13 2239527000 2,24 4. try 60901000 0,06 5435216000 5,4 1205442000 1,21 1370711000 1,37 5. try 58798000 0,058 6501929000 6,5 1186734000 1,19 1001800000 1,00 6. try 62928000 0,062 5913053000 5,9 1224470000 1,22 1066736000 1,07 7. try 71171000 0,071 5111207000 5,1 1200769000 1,20 1304524000 1,30 8. try 66913000 0,066 5517989000 5,5 1173495000 1,17 1299230000 1,30 9. try 58777000 0,058 7209555000 7,2 1179013000 1,18 1031795000 1,03 10. try 75299000 0,075 5356514000 5,3 1182715000 1,18 1368461000 1,37 average 65019600 0,064 5766481400 5,7 1181025000 1,18 1302089200 1,30
我显然比较了Derby,SQLite和HSQLDB.Oracle不是内存数据库.但是我将它的结果放到了表中,因为它显示了内存db和普通db之间的速度差异.
PS:在SQLite和HSQLDB中结果不稳定.所以我在100次尝试中选择了10个稳定的结果.有时HSQLDB比SQLite快.我认为他们的表现是一样的.