Век живи — век учись!
Jul. 21st, 2020 06:12 pmСижу, экспериментирую с базой данных SQLite3 (БД с данными для аутентификации и авторизации). Смотрю — после добавления сотни-другой условных пользователей и последующего их удаления размер БД не уменьшается.
Консольный sqlite-клиент ничего лишнего не показывает, однако, по F3 в mc я вижу все старые данные.
Оказывается, sqlite не переформатирует базы данных при удалении, чтобы не замедлять процессы обращения к БД и не привести к фрагментации.
Чтобы "подчистить" базу данных от мусора есть команда vacuum, которую просто можно запустить из консольного клиента после подключения к БД.
Можно это сделать и прямо из баша: sqlite3 users.db "vacuum;" .
Консольный sqlite-клиент ничего лишнего не показывает, однако, по F3 в mc я вижу все старые данные.
Оказывается, sqlite не переформатирует базы данных при удалении, чтобы не замедлять процессы обращения к БД и не привести к фрагментации.
Чтобы "подчистить" базу данных от мусора есть команда vacuum, которую просто можно запустить из консольного клиента после подключения к БД.
Можно это сделать и прямо из баша: sqlite3 users.db "vacuum;" .