Что такое метод для очистки базы данных в SQlite?

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

Теперь я хочу создать метод в моем приложении, который будет работать так же, как sqliteadmin CleanUp.

Как это сделать?

Спасибо С уважением

Ответы

Ответ 1

Кажется, вы ищете инструкцию VACUUM.

Ответ 2

using (SQLiteCommand command = m_connection.CreateCommand())
{
    command.CommandText = "vacuum;";
    command.ExecuteNonQuery();
} 

вот точный ответ о том, как выполнять вакуум.

Ответ 3

Интересный пост script. Инструкция Vacuum в SQLite копирует всю базу данных в временный файл для перестройки. Если вы планируете делать это по запросу "По требованию" через пользователя или какой-либо процесс, может потребоваться значительное количество свободного места на диске и времени, как только ваша база данных будет превышать 100 МБ, особенно если вы смотрите на несколько ГБ. В этом случае вам лучше использовать инструкцию AUTO_VACUUM = true при создании базы данных и просто удалять записи вместо запуска VACUUM. Пока это единственное преимущество, которое я могу найти, что SQL Server Compact имеет SQLite. По требованию SHRINK базы данных Sql Server Compact чрезвычайно быстро по сравнению с вакуумом SQLite.