Ответ 1
Кажется, вы ищете инструкцию VACUUM.
Как я использую Sqlite для своих малых приложений, я всегда использую sqliteadmin, чтобы использовать функцию очистки базы данных для удаления ненужных данных в моей базе данных.
Теперь я хочу создать метод в моем приложении, который будет работать так же, как sqliteadmin CleanUp.
Как это сделать?
Спасибо С уважением
Кажется, вы ищете инструкцию VACUUM.
using (SQLiteCommand command = m_connection.CreateCommand())
{
command.CommandText = "vacuum;";
command.ExecuteNonQuery();
}
вот точный ответ о том, как выполнять вакуум.
Интересный пост script. Инструкция Vacuum в SQLite копирует всю базу данных в временный файл для перестройки. Если вы планируете делать это по запросу "По требованию" через пользователя или какой-либо процесс, может потребоваться значительное количество свободного места на диске и времени, как только ваша база данных будет превышать 100 МБ, особенно если вы смотрите на несколько ГБ. В этом случае вам лучше использовать инструкцию AUTO_VACUUM = true при создании базы данных и просто удалять записи вместо запуска VACUUM. Пока это единственное преимущество, которое я могу найти, что SQL Server Compact имеет SQLite. По требованию SHRINK базы данных Sql Server Compact чрезвычайно быстро по сравнению с вакуумом SQLite.