прикрепить базу данных в памяти к базе данных на диске - PullRequest
0 голосов
/ 12 мая 2018

Добрый вечер, я хотел бы присоединить базу данных, созданную в памяти, к базе данных, созданной и сохраненной на диске. Я дошел до первой части (создание БД в памяти), но у меня возникли сложности с прикреплением его к БД на диске.

import sqlite3
# set up a database in memory
c = sqlite3.connect(':memory:')
c.execute('CREATE TABLE my_table (id int, name text);')
c.execute("INSERT INTO my_table VALUES (1, 'bruce'), (2, 'wayne'), (3, 'bat');")
c.commit()

Я попробовал этот код ниже, но он не работает: /:

ATTACH DATABASE 'file::memory:?cache=shared' AS db_disk

1 Ответ

0 голосов
/ 12 мая 2018

В Python нет прямого способа скопировать содержимое базы данных в памяти на диск.

Но база данных выполняет запись на диск только при фиксации транзакции, поэтому вы можете получить ту же скоростьиспользуя базу данных на диске и записывая все в одной транзакции, то есть , а не , вызывая commit() до того, как вы закончите.(Но вы можете увеличить размер кэша .)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...