Поиск

Век живи — век учись!


Сижу, экспериментирую с базой данных SQLite3 (БД с данными для аутентификации и авторизации). Смотрю — после добавления сотни-другой условных пользователей и последующего их удаления размер БД не уменьшается.
Консольный sqlite-клиент ничего лишнего не показывает, однако, по F3 в mc я вижу все старые данные.
Оказывается, sqlite не переформатирует базы данных при удалении, чтобы не замедлять процессы обращения к БД и не привести к фрагментации.
Чтобы «подчистить» базу данных от мусора есть команда vacuum, которую просто можно запустить из консольного клиента после подключения к БД.
Можно это сделать и прямо из баша: sqlite3 users.db "vacuum;" . eddy_em.livejournal.com

Добавить комментарий