SQLite: вставить 1 значение в секунду или несколько значений в минуту? - PullRequest
1 голос
/ 20 сентября 2019

Я использую SQLite в своем мобильном приложении для сбора данных с датчика с помощью Bluetooth Low Energy.Датчик отправляет значения каждую секунду.Подход, который я использовал, такой: когда новые данные получены, я их читаю и вставляю в таблицу в базе данных.Проблема заключается в следующем: я заметил, что приложение падает, когда оно достигает 1500 вставки.Мой вопрос:

С точки зрения производительности, лучше ли вставлять одно значение в секунду (подход, который я использую сегодня) или собирать 60 значений в переменную массива, а затем вставлять их в одну транзакцию?

Есть ли другой способ оптимизировать производительность SQLite?Мне нужно, чтобы приложение работало весь день.Это 86400 значений для хранения

1 Ответ

1 голос
/ 20 сентября 2019

Из этого ответа:

Что быстрее: несколько одиночных INSERT или одна многострочная INSERT?

Время, необходимое для вставки строки, определяетсяследующие факторы, где числа указывают приблизительные пропорции:

  • Соединение: (3)
  • Отправка запроса на сервер: (2)
  • Анализ запроса: (2)
  • Вставка строки: (1 × размер строки)
  • Вставка индексов: (1 × количество индексов)
  • Закрытие: (1)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...