обновление постоянного БД с использованием БД в памяти - PullRequest
0 голосов
/ 05 декабря 2011

Как я могу обновить большую постоянную базу данных небольшой базой данных в памяти? У меня есть приложение, которое имеет большой постоянный дБ (на жестком диске) и небольшой в памяти дБ (в оперативной памяти). Во время выполнения моего приложения база данных в памяти заполняется и в конце выполнения обновляет постоянную базу данных.

Кто-нибудь знает, как я могу это сделать?

1 Ответ

4 голосов
/ 05 декабря 2011

Этого можно достичь с помощью базы данных ATTACH:

http://www.sqlite.org/lang_attach.html

РЕДАКТИРОВАТЬ 05.12.2011:

Здесь я создаю базу данных на диске:

[someone@localhost ~]$ sqlite3 some_big_db
SQLite version 3.7.5
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table t1 (a int, b text);

Здесь я открываю базу данных в памяти, создаю таблицу, заполняю ее, присоединяю базу данных на диске и копирую содержимое таблицы базы данных в памяти в таблицу базы данных на диске:

[someone@localhost ~]$ sqlite3 
SQLite version 3.7.5
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table t2 (a int, b text);
sqlite> insert into t2 values (1, 'aa');
sqlite> insert into t2 values (2, 'bb');
sqlite> attach database some_big_db as big_db;
sqlite> insert into t1 select * from t2;

Здесь я открываю базу данных на диске и выбираю содержимое ее таблицы:

[someone@localhost ~]$ sqlite3 some_big_db 
SQLite version 3.7.5
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from t1;
1|aa
2|bb
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...