将内存中的数据库附加到磁盘

时间:2018-05-11 21:02:14

标签: python-3.x memory-management sqlite

晚上好,我想附上一个在内存中创建的数据库,其中创建并保存在磁盘上的数据库。我到达了第一部分(在内存中创建了数据库),但我很难将它与磁盘上的数据库连接。

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 :(得分:1)

在Python中,没有直接的方法将内存数据库的内容复制到磁盘。

但是数据库仅在事务提交时强制写入磁盘,因此您可以通过使用磁盘数据库并在单个事务中编写所有内容来获得相同的速度,即通过 not 调用{{ 1}}在你结束之前。 (但您可能希望增加cache size。)