2010-04-26 47 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更快。我認爲他們的表現是一樣的。