2010-04-26 11 views
15

Encontré muchas comparaciones aquí, pero no esta; Entonces, ¿qué es lo mejor en cada uno?Derby/JavaDB vs SQLiteJDBC

+0

¿Qué estás dispuesto a hacer? – Macarse

+0

@Macarse una pequeña aplicación independiente en Java –

Respuesta

9

Hay una comparación completa en SQLite's site.

SQLite es mucho más restringido, ya que solo admite un pequeño subconjunto de SQL92, mientras que Derby (ahora JavaDB) tiene soporte completo de SQL92 y SQL99.

+0

¡Agradable! Por supuesto, me gustaría saber si el punto de vista del equipo Derby acerca de esta comparación ... pero gracias de todos modos :) –

+5

Aquí hay un hilo en las listas de correo de los usuarios de derby: http://old.nabble.com/Derby-v-SQLite -td13496423.html – mgv

+0

todavía no era lo que esperaba, ¡pero gracias! –

-1

Una cosa que debes tener en cuenta acerca de SQLite es que, además de admitir solo un subconjunto de SQL92, solo el hilo que creó la base de datos SQLite puede acceder a él. Si puedes vivir con eso, entonces tómalo para su mejor desempeño.

+4

Eso no es correcto. Tenemos una aplicación que accede a su base de datos SQLite desde múltiples hilos. Consulte https://www.sqlite.org/threadsafe.html - quote: Serialized. En modo serializado, SQLite puede ser utilizado con seguridad por múltiples hilos sin restricción. [...] El modo predeterminado está serializado. – Bluehorn

+0

La respuesta debe actualizarse – tno2007

5

Ejecuto un SQL complejo que tiene más de 6000 filas 10000 veces en mi servidor Websphere. Total de tiempos netos de ejecución son así:

  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 

obviamente comparar Derby, SQLite y HSQLDB. Oracle no está en la memoria db. Pero pongo su resultado en la tabla porque muestra la diferencia de velocidad entre a en la memoria db y la db normal.

PD: En SQLite y HSQLDB los resultados no son estables. Así que elegí 10 resultados estables en 100 intentos. A veces HSQLDB es más rápido que SQLite. Creo que el rendimiento de ellos es el mismo.

Cuestiones relacionadas