2010-04-26 9 views
15

Ich fand hier viele Vergleiche, aber nicht diese; Also, was ist das Beste in jedem?Derby/JavaDB vs SQLiteJDBC

+0

Was sind Sie bereit zu tun? – Macarse

+0

@Macarse eine kleine eigenständige App in Java –

Antwort

9

Bei SQLite's site gibt es einen vollständigen Vergleich.

SQLite ist viel eingeschränkter, da es nur eine kleine Teilmenge von SQL92 unterstützt, während Derby (jetzt JavaDB) volle Unterstützung von SQL92 und SQL99 bietet.

+0

Nizza! Natürlich würde ich gerne wissen, ob der Derby-Team Sichtweise über diesen Vergleich .. aber trotzdem danke :) –

+5

Hier ist ein Thread in der Derby-Benutzer-Mailinglisten: http://old.nabble.com/Derby-v-SQLite -td13496423.html – mgv

+0

immer noch nicht das, was ich erwartet habe, aber danke! –

-1

Eine Sache, die Sie bei SQLite beachten sollten, ist, dass neben der Unterstützung nur einer Teilmenge von SQL92 nur der Thread, der die SQLite-Datenbank erstellt hat, darauf zugreifen kann. Wenn Sie damit leben können, dann nehmen Sie es für seine bessere Leistung.

+4

Das ist nicht korrekt. Wir haben eine Anwendung, die von mehreren Threads auf ihre SQLite-Datenbank zugreift. Siehe https://www.sqlite.org/threadsafe.html - Zitat: Serialisiert. Im serialisierten Modus kann SQLite ohne Einschränkungen von mehreren Threads verwendet werden. [...] Der Standardmodus ist serialisiert. – Bluehorn

+0

Antwort sollte aktualisiert werden – tno2007

5

Ich führe eine komplexe SQL, die mehr als 6000 Zeilen 10000 mal in meinem Websphere Server hat. Die gesamten Nettolaufzeiten sind wie folgt aus:

  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 

I Derby offensichtlich vergleichen, SQLite und HSQLDB. Oracle ist keine im Speicher db. Aber ich lege das Ergebnis auf Tabelle, um den Geschwindigkeitsunterschied zwischen einer in der Speicher-db und einer normalen db zu zeigen.

PS: In SQLite und HSQLDB sind die Ergebnisse nicht stabil. Also habe ich 10 stabile Ergebnisse in 100 Versuchen gewählt. Manchmal ist HSQLDB schneller als SQLite. Ich denke ihre Leistung ist gleich.

Verwandte Themen