Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 7
1

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

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

Author24 — интернет-сервис помощи студентам
Приветствую,

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

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

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

Поделитесь, как Вы обычно аналогичную задачу решали, если приходилось?
Заранее, спасибо за ответ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2017, 18:09
Ответы с готовыми решениями:

Visual Studio Code Есть ли поддержка сохранения файла в 2х местах или запуска батника после сохранения
Здравствуйте. Кто знает есть ли в Visual Studio Code возможность сохранять файцл в 2х местах или...

Как написать формулы в sqlite или отказаться от использования sqlite вовсе
Доброго времени суток. Друзья, пишу справочник по физике, недавно столкнулся с проблемой - как...

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

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

4
22 / 7 / 2
Регистрация: 26.10.2012
Сообщений: 212
Записей в блоге: 1
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
Эксперт .NET
10564 / 6488 / 1506
Регистрация: 25.05.2015
Сообщений: 19,654
Записей в блоге: 14
17.05.2017, 19:48 4
Цитата Сообщение от Electrologic Посмотреть сообщение
в первом же случае возможны частые записи в базу, т.к. пользователь может тупо много раз нажимать кнопку "добавление в избранное / удаление из избранного" - плохо если при этом будут происходить многократные добавления и стирания в/из SQLite.
Часто - это десятки тысяч в секунду и выше. Там видна разница между добавлением по одной записи и по куче команд в одной транзакции.
Ваше - редко, не парьтесь. Про транзакции только не забывайте.
0
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 7
20.05.2017, 11:39  [ТС] 5
Понял - лучше не заморачиваться и не оптимизировать работу с базой данных раньше времени. Т.е. пока не тормозит, буду делать одно обращение к SQLite на каждое добавление слова в избранное. Соответственно, с базой пока буду работать в одном потоке с UI.
0
20.05.2017, 11:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2017, 11:39
Помогаю со студенческими работами здесь

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

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

Частые разрывы соединения - плохая линия или модем?!
Проблема в том, что постоянно лагает IPTV и отключается интернет (гаснет Link на модеме и...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru