2010-04-26 51 views
15

我在这里发现了很多比较,但不是这一个; 那么,每一个中最好的是什么?德比/ JavaDB vs SQLiteJDBC

+0

你愿意做什么? – Macarse 2010-04-27 18:18:14

+0

@Macarse Java中的一个小型独立应用程序 – 2010-04-27 19:54:51

回答

9

SQLite's site有一个完整的比较。

SQLite受限得多,因为它只支持SQL92的一小部分,而Derby(现在的JavaDB)完全支持SQL92和SQL99。

+0

不错!当然,我想知道如果德比队的观点有关这个比较..但无论如何感谢:) – 2010-04-26 14:51:56

+5

这是德比用户邮件列表中的一个线程:http://old.nabble.com/Derby-v-SQLite -td13496423.html – mgv 2010-04-26 14:54:58

+0

仍然不是我所期望的,但谢谢! – 2010-04-27 19:56:47

-1

有一点你应该记住SQLite,除了支持SQL92的一个子集之外,只有创建SQLite数据库的线程可以访问它。如果你能够忍受这一点,那么就可以取得更好的表现。

+4

这是不正确的。我们有一个应用程序从多个线程访问它的SQLite数据库。请参阅https://www.sqlite.org/threadsafe.html - 引用:序列化。在序列化模式下,SQLite可以安全地由多个线程使用,没有任何限制。 [...]默认模式是序列化的。 – Bluehorn 2014-02-19 06:32:06

+0

答案应该更新 – tno2007 2017-10-16 10:34:21

5

我执行一个复杂的SQL,它在我的Websphere Server中有超过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 

我显然比较德比,SQLite和HSQLDB。 Oracle不是内存数据库。但我把它的结果放在表中,因为显示内存数据库和正常数据库之间的速度差异。

PS:在SQLite和HSQLDB结果不稳定。所以我在100次尝试中选择了10个稳定的结果。有时HSQLDB比SQLite更快。我认为他们的表现是一样的。