我使用的是python的SQLite数据库(带SQLAlchemy),出于性能原因,我希望在应用程序中填充内存中的数据库,然后将该数据库备份到磁盘。
SQLite有一个backup API,它似乎可以透明地执行此操作。
APSW文档说它是wraps the backup API,但是我想从Python的标准sqlite3模块访问这个功能,或者在最好的情况下从SQLAlchemy访问。
我使用的是python的SQLite数据库(带SQLAlchemy),出于性能原因,我希望在应用程序中填充内存中的数据库,然后将该数据库备份到磁盘。
SQLite有一个backup API,它似乎可以透明地执行此操作。
APSW文档说它是wraps the backup API,但是我想从Python的标准sqlite3模块访问这个功能,或者在最好的情况下从SQLAlchemy访问。
5条答案
按热度按时间2lpgd9681#
APSW方言也可以很容易地添加到SQLAlchemy中。2在0.6中实现起来非常容易,它允许多种DBAPI适配器对正在使用的数据库使用同一种方言。
ldioqlga2#
如果pysqlite和apsw链接到同一个sqlite库,则pysqlite可以接受apsw连接。
http://docs.pysqlite.googlecode.com/hg/sqlite3.html#combining-apsw-and-pysqlite
我将尝试使用这种(以及其他)方法来让apsw与SQLAlchemy一起工作,因为它们是非常有用的组合。
zzwlnbp83#
现在是2021年,内存和磁盘之间的性能差异发生了变化。我的游戏笔记本可以执行SQL操作,主要是INSERT,在内存中比磁盘快100倍。我使用原始连接进行备份(将内存中的数据库复制到磁盘)。
dm7nw8vv4#
python-sqlite3-backup模块声称可以解决这个问题。
1l5u6lss5#
执行以下操作时
我没有看到任何backup API方法。
因此,答案是否定的;无法从sqlite3模块访问API。似乎没有人实现它。