Какие задачи администрирования (если они есть) следует выполнять для базы данных sqlite? - PullRequest
3 голосов
/ 15 февраля 2010

Я развертываю клиентское приложение на нескольких тысячах компьютеров Windows. Каждая машина будет использовать базу данных sqlite в качестве локального хранилища данных, в конечном итоге записывая данные на удаленный сервер. Таким образом, база данных sqlite не будет расти на протяжении нескольких МБ с течением времени, поскольку данные будут добавлены, а затем удалены. Предполагается, что SQLite не требует администрирования, но есть ли какие-то задачи, которые мне нужно время от времени запускать, такие как анализ / обновление статистики / проверка согласованности и т. Д.? Или я могу предположить, что как только sqlite db будет там, его можно будет использовать в течение нескольких лет, не беспокоясь и не портя?

Если есть такие задачи, я буду встраивать процессы в свое приложение, чтобы время от времени запускать их, но в настоящее время я не уверен, что это необходимо / рекомендуется.

1 Ответ

3 голосов
/ 15 февраля 2010

SQLite имеет команду VACUUM, которая сжимает удаленные записи и уменьшает фрагментацию и размер файла. Количество удалений против вставок действительно диктует, как часто это должно быть сделано. Это обычно быстро и не всегда необходимо.

Лучше всего настроить некоторые сценарии для имитации ожидаемой активности в производственной среде. Сделайте снимки размера файла и графика в вашей любимой электронной таблице. Если после 10 лет смоделированной деятельности проблемы не возникнет, то вашим шаблонам использования не нужен VACUUM.

...