У меня есть три таблицы по 5 столбцов. Они могут расти до 15 рядов каждый. Имеет ли смысл иметь базу данных SQLite для этого или достаточно файла? Я говорю о чистой производительности.Файл или база данных
ответ
С точки зрения производительности это будет иметь очень мало значения, но с точки зрения обслуживания вы должны пойти с использованием подхода sql, избегать любых тайных подходов к дому, если существует общеизвестный способ что-то делать :) Также должно быть намного быстрее написать код для базы данных, а не для плоского файла. И никогда не оптимизируйте, пока вы не сможете измерить и не увидите, что у вас проблема с производительностью.
Вам нужна какая-либо поддержка параллелизма? Если это так, SQLite будет иметь смысл, а не строить это самостоятельно.
Я хотел бы использовать базу данных, так как было бы легче поддерживать целостность ваших данных в отношении отношений и формата данных, которые вы храните. Сделать ошибку при обновлении таблицы легко заметить (исключения хороши для предотвращения коррумпированных данных), но запись неправильных данных в ваш собственный формат может быть нелегко обнаружить, пока не стало слишком поздно.
Производительность, вероятно, должна быть второй, чтобы сохранить достоверные данные.
Очень действительная точка. Значительные выгоды от повторного использования хорошо известных и хорошо проверенных пакетов/шаблонов. – erbsman
Мое предложение - пойти на Sqlite
, Sqlite с курсором, который может перемещаться по данным, очень легко изменять данные.
То же самое с File
является довольно сложным, потому что вы должны сделать строковую функцию как indexOf()
, subString()
, replace()
и т.д.
Если вы уже не имеете базу данных MySQL и не нуждаются в какой-либо сложно соединяется, идет с файловой системой.
Я занимаюсь веб-сайтом, а не андроидом, но у меня были большие успехи в использовании JSON-манифеста из файловой системы с использованием JavaScript. Настолько приятно сократить накладные расходы базы данных, и файловая система практически мгновенно.
Я также четко проголосовал бы за решение БД. В дополнение к упомянутым преимуществам, хорошо учиться в любом случае - и - честно - в конце, учитывая все проблемы, это не сложнее или больше, чем решение файловой системы.
Кстати, тогда я узнал DB с этим руководством: http://developer.android.com/resources/tutorials/notepad/index.html
Это было АЛОСО очень полезно для нескольких других причин ...
- 1. log4net - база данных или файл на диске
- 2. Ошибка «Файл зашифрован или не база данных»
- 3. python или база данных?
- 4. База данных или XML
- 5. Реляционная база данных или база данных NoSQL
- 6. Сервер или база данных
- 7. Mergesort или база данных?
- 8. База данных или сайт
- 9. WP8 - Сохранение данных. Один файл или база данных?
- 10. PHP: файлы или база данных
- 11. JSON файл как база данных
- 12. .cts файл - база данных оракула?
- 13. Многоуровневость: единая база данных или база данных для каждого арендатора?
- 14. Резервные словари, имитированная база данных или физическая база данных?
- 15. Что лучше, база данных для клиентов или унифицированная база данных?
- 16. MySQL flush tables - Текущая база данных или каждая база данных?
- 17. База данных в приложении или онлайн-база данных?
- 18. База данных SQL Server или база данных на SQL Server
- 19. Большая база данных или реляционная база данных (например, кластер MySQL)?
- 20. База данных кинотеатра или API
- 21. Веб-база данных или SOAP?
- 22. База данных или обработка файлов
- 23. Одна база данных или многие?
- 24. Одиночная или множественная база данных?
- 25. Кэш - диск или база данных?
- 26. SharedPreferences или база данных SQLite?
- 27. Первый код или база данных
- 28. База данных SQLite: передача данных в файл
- 29. База данных: файл изображения как пробел или путь к файлу?
- 30. Локальный файл XML или внешняя база данных MySQL?
Я вижу тег андроид, если вы делаете это в android, почему вы не используете Sqlite? – Habib
Я думаю, что плакат означал SQLite. – wsanville
Я имел в виду, SQLite. Спасибо за исправление. – deeJ