Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Electrologic
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 6
1

Частые сохранения в SQLite или редкие, но массивные?

17.05.2017, 18:09. Просмотров 288. Ответов 4
Метки нет (Все метки)

Приветствую,

Пишу приложение, являющееся по своей сути онлайн-словарем. Сейчас требуется реализовать функции "избранное" и "история". Для первой: после нахождения перевода текста пользователь может нажать кнопочку добавления текста/перевода в перечень избранного. Для второй ф-ии: после окончания ввода выражения и появления его перевода, когда убирается софтварная клавиатура, текст/перевод автоматически добавляется и перечень истории переводов.

Решил для хранения данных задействовать базу SQLite. Подскажите, как правильнее делать: каждый раз (т.е. для каждого выражения) производить запись в базу данных, или лучше накапливать данные в массиве (например, ArrayList), а по окончанию работы приложения, все их скопом сохранять в базе данных?

Насколько понимаю, во втором случае при аварийном завершении работы приложения, данные могут не успеть сохраниться и, соответственно, утеряны; в первом же случае возможны частые записи в базу, т.к. пользователь может тупо много раз нажимать кнопку "добавление в избранное / удаление из избранного" - плохо если при этом будут происходить многократные добавления и стирания в/из SQLite.

Поделитесь, как Вы обычно аналогичную задачу решали, если приходилось?
Заранее, спасибо за ответ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2017, 18:09
Ответы с готовыми решениями:

Выбрать hasmap или sqlite
Народ, подскажите пожалуйста, что лучше выгрузить все данные из таблицы Sqlite в hasmap или делать...

SQLite или MySQL на удаленном сервере
Какой вариант следует предпочесть когда если в бд надо хранить курсы валют или ценных бумаг скажем...

Копирование файла с Android на PC, или синхронизация SQLite
Здравствуйте!!! У меня на телефоне есть база данных (путь до базы /data/data/имя...

Простейший запрос к SQLite (или схожу сума)
Всех доблестных кодеров с праздником! Элегантных программных решений и выдающихся результатов...

Файл cookies.sqlite не sqlite на самом деле, или как его открыть
хочу прочитать куки браузеров (это не противозаконно) оперу сделал, хром сделал, у хрома как раз...

4
arvalon
21 / 6 / 2
Регистрация: 26.10.2012
Сообщений: 186
Записей в блоге: 1
17.05.2017, 18:59 2
Не думаю что в случае работы с ORM стоит уделять этому столько внимания, пока ничего не тормозит. В принципе телефон и без вашего и вашего приложения участия живёт своей жизнью и постоянно что-то писать/читать память. И порция данных для обмена как я понимаю у вас копеечная - несколько байт.
Такие вопросы скорее должны возникать если необходимо взаимодействие с REST, как часто его дёргать - там можно подумать о трафике.
0
ExFau$t
565 / 510 / 114
Регистрация: 08.05.2012
Сообщений: 2,539
17.05.2017, 19:07 3
Для пары слов можно и sharedPref использовать.
0
Rius
Эксперт .NET
5013 / 3242 / 793
Регистрация: 25.05.2015
Сообщений: 9,958
Записей в блоге: 11
Завершенные тесты: 4
17.05.2017, 19:48 4
Цитата Сообщение от Electrologic Посмотреть сообщение
в первом же случае возможны частые записи в базу, т.к. пользователь может тупо много раз нажимать кнопку "добавление в избранное / удаление из избранного" - плохо если при этом будут происходить многократные добавления и стирания в/из SQLite.
Часто - это десятки тысяч в секунду и выше. Там видна разница между добавлением по одной записи и по куче команд в одной транзакции.
Ваше - редко, не парьтесь. Про транзакции только не забывайте.
0
Electrologic
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 6
20.05.2017, 11:39  [ТС] 5
Понял - лучше не заморачиваться и не оптимизировать работу с базой данных раньше времени. Т.е. пока не тормозит, буду делать одно обращение к SQLite на каждое добавление слова в избранное. Соответственно, с базой пока буду работать в одном потоке с UI.
0
20.05.2017, 11:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2017, 11:39

SQLite for Excel или как выгрузить данные в SQLite
Здравствуйте! Мне необходимо написать макрос для выгрузки данных из excel в sqlite. Нашла проект...

При продолжительной игры в GTA V начинают появляться редкие полосы в текстурах или падает видеодрайвер
Здравствуйте. Расскажу все сначала. Недавно, при продолжительной игры (часа 2-3) в GTA V...

Массивные комментарии в VB
Уже четыре года программирую на басике, но так и не нашел массивные комментарии... Может кто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru