2013-12-08 4 views
2

Мне нужен для моего проекта база данных SQLite для хранения соответствующей информации, которая будет прочитана в следующий раз при запуске программы.Данные кэша SQLite в объектах?

Лучше ли читать полную базу данных, создавать объекты для каждой строки и работать с этими объектами, хранящимися в списке, или я должен всегда запрашивать базу данных для строки?

База данных будет содержать около 10 000 строк и обойти один запрос каждую секунду, где я хочу выбрать строку. И если я должен работать с объектами в списке, как я могу вернуть их? Я думаю, что падение таблицы и создание нового - не лучшее решение.

+0

Я не совсем понимаю, в чем проблема. Btw отказаться от таблицы и создать новую, на самом деле не решение IMO. и запрос в секунду для строки не имеет большого значения. – rokonoid

ответ

2

Там же и спады каждой опции:

Получить все из БД в список объектов:
Plus:

  • вы получите, чтобы объекты в виде списка, и это приятно и легко работать с

Минус:

  • Большая площадь памяти.

Получить каждый, когда вам это нужно:
Plus:

  • Пусть базы данных беспокоиться о том, что вам нужно

Минус:

  • нужно позвонить ДБ снова и снова.

В каждом случае я сомневаюсь в том, что производительность будет разумной, вы заметите огромную разницу, предполагая, что ваши ряды не огромны.

Если вы решили запросить один раз и работать с объектами, вам придется либо сохранить все, либо сохранить все, что было изменено до того, как вы уйдете (и если ваша программа неожиданно умрет, вы можете потерять изменения).

Если вы получаете по одному элементу за раз, а затем сохраняете его, больше вызовов на db (диск, так как это sqlite), но если что-то пойдет не так, вы можете потерять меньше информации.

+0

Хорошее сравнение, спасибо! Похоже, что эти объекты, которые мне нужны, более безопасны, поэтому я буду использовать эту опцию. – user3074909

+0

Рад, что я мог помочь. Если вы сочтете это полезным, вы можете подтвердить или отметить его. – Noctis

+0

Vote Up требует 15 репутации :(Извините, но я отметил ваш ответ! – user3074909

0

Преждевременная оптимизация - это корень всего зла. - Donald Knuth

Вы действительно не должны оптимизировать то, что не является проблемой производительности прямо сейчас.

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