0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 7
|
|
1 | |
Частые сохранения в SQLite или редкие, но массивные?17.05.2017, 18:09. Показов 1114. Ответов 4
Метки нет (Все метки)
Приветствую,
Пишу приложение, являющееся по своей сути онлайн-словарем. Сейчас требуется реализовать функции "избранное" и "история". Для первой: после нахождения перевода текста пользователь может нажать кнопочку добавления текста/перевода в перечень избранного. Для второй ф-ии: после окончания ввода выражения и появления его перевода, когда убирается софтварная клавиатура, текст/перевод автоматически добавляется и перечень истории переводов. Решил для хранения данных задействовать базу SQLite. Подскажите, как правильнее делать: каждый раз (т.е. для каждого выражения) производить запись в базу данных, или лучше накапливать данные в массиве (например, ArrayList), а по окончанию работы приложения, все их скопом сохранять в базе данных? Насколько понимаю, во втором случае при аварийном завершении работы приложения, данные могут не успеть сохраниться и, соответственно, утеряны; в первом же случае возможны частые записи в базу, т.к. пользователь может тупо много раз нажимать кнопку "добавление в избранное / удаление из избранного" - плохо если при этом будут происходить многократные добавления и стирания в/из SQLite. Поделитесь, как Вы обычно аналогичную задачу решали, если приходилось? Заранее, спасибо за ответ.
0
|
17.05.2017, 18:09 | |
Ответы с готовыми решениями:
4
Visual Studio Code Есть ли поддержка сохранения файла в 2х местах или запуска батника после сохранения Как написать формулы в sqlite или отказаться от использования sqlite вовсе Файл cookies.sqlite не sqlite на самом деле, или как его открыть При продолжительной игры в GTA V начинают появляться редкие полосы в текстурах или падает видеодрайвер |
17.05.2017, 18:59 | 2 |
Не думаю что в случае работы с ORM стоит уделять этому столько внимания, пока ничего не тормозит. В принципе телефон и без вашего и вашего приложения участия живёт своей жизнью и постоянно что-то писать/читать память. И порция данных для обмена как я понимаю у вас копеечная - несколько байт.
Такие вопросы скорее должны возникать если необходимо взаимодействие с REST, как часто его дёргать - там можно подумать о трафике.
0
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
|
17.05.2017, 19:07 | 3 |
Для пары слов можно и sharedPref использовать.
0
|
17.05.2017, 19:48 | 4 |
Часто - это десятки тысяч в секунду и выше. Там видна разница между добавлением по одной записи и по куче команд в одной транзакции.
Ваше - редко, не парьтесь. Про транзакции только не забывайте.
0
|
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 7
|
|
20.05.2017, 11:39 [ТС] | 5 |
Понял - лучше не заморачиваться и не оптимизировать работу с базой данных раньше времени. Т.е. пока не тормозит, буду делать одно обращение к SQLite на каждое добавление слова в избранное. Соответственно, с базой пока буду работать в одном потоке с UI.
0
|
20.05.2017, 11:39 | |
20.05.2017, 11:39 | |
Помогаю со студенческими работами здесь
5
SQLite for Excel или как выгрузить данные в SQLite Массивные комментарии в VB Частые разрывы соединения - плохая линия или модем?! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |