2010-04-26 5 views
15

Здесь я нашел много сравнений, но не этот; Итак, что лучше в каждом?Derby/JavaDB vs SQLiteJDBC

+0

Что вы хотите сделать? – Macarse

+0

@Macarse небольшое автономное приложение на Java –

ответ

9

Существует полное сравнение на SQLite's site.

SQLite гораздо более ограничен, поскольку он поддерживает только небольшое подмножество SQL92, тогда как Derby (теперь JavaDB) имеет полную поддержку SQL92 и SQL99.

+0

Nice! Конечно, я хотел бы знать, имеет ли команда Derby точку зрения об этом сравнении .. но спасибо в любом случае :) –

+5

Вот нить в списках рассылки пользователей дерби: http://old.nabble.com/Derby-v-SQLite -td13496423.html – mgv

+0

еще не то, что я ожидал, но спасибо! –

-1

Одна вещь, которую вы должны иметь в виду о SQLite, заключается в том, что, помимо поддержки только подмножества SQL92, к ней может обращаться только поток, создавший базу данных SQLite. Если вы можете жить с этим, то возьмите его за лучшую производительность.

+4

Неправильно. У нас есть приложение, которое обращается к своей базе данных SQLite из нескольких потоков. См. Https://www.sqlite.org/threadsafe.html - quote: Сериализованный. В сериализованном режиме SQLite можно безопасно использовать несколькими потоками без ограничений. [...] Режим по умолчанию сериализуется. – Bluehorn

+0

Ответ должен быть обновлен – tno2007

5

Выполняю сложный SQL, который имеет более 6000 строк 10000 раз на моем сервере Websphere. Итого чистое время выполнения таково:

  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 не находится в памяти db. Но я привел его результат к таблице, потому что показать разницу в скорости между a в памяти db и нормальным db.

PS: В SQLite и HSQLDB результаты нестабильны. Поэтому я выбрал 10 стабильных результатов в 100 попытках. Иногда HSQLDB работает быстрее, чем SQLite. Я думаю, что их производительность одинакова.

 Смежные вопросы

  • Нет связанных вопросов^_^