Сохранение на диск базы данных в памяти
Вопрос
Я создал базу данных через sqlite на C++.
БД была создана в памяти (с использованием параметра «:memory:», вставленного в имя файла), чтобы обеспечить очень быстрое поведение.
База данных создается следующими строками:
sqlite3* mem_database;
if((SQLITE_OK == sqlite3_open(":memory:", &mem_database)){
// The db has been correctly created and
// I can do some stuff with it.
}
sqlite3_close(mem_database);
Моя проблема:как я могу записать базу данных в памяти на диск?(конечно, через c/С++).
Я читал кое-что о командах sqlite ATTACH и DETACH, но могу заставить их работать только с интерактивной оболочкой sqlite (а не из кода c/С++).
Приветствую.
Решение
Посмотрите этот пример: Загрузка и сохранение баз данных в памяти
Другие советы
Используйте оператор транзакции, прежде чем что-либо делать с таблицей.Это также обеспечивает быструю обработку и откат.Таким образом, вам не нужно напрямую реализовывать базу данных в памяти.