我正在修改一个项目,通过SQLALCHEMY打开一个SQLite数据库。
我正在运行此应用程序的多个进程,这似乎导致了一些(锁定?)问题。进程停止等待IO(顶部的状态D)。
数据库只被查询/读取,而不会被写入。不幸的是,5 GB的数据库文件位于一个NFS目录上,因此读取不是即时的。
我可以将数据库设置为read-only吗?那么,Sqlite/SqlalChemy会避免锁定/事务机制吗?设置ISOLATION_LEVEL=“READ UNCOMMITTED”似乎还不够。从文档中我不清楚我应该如何以及是否应该设置SERIALIZABLE。
或者,我想我可以先copy the db to memory,但不清楚如何将内存数据库移交给SqlalChemy。我应该在连接时复制吗?
1条答案
按热度按时间tv6aics11#
我能够通过将数据库复制到内存中来解决它,方法是替换
有:
紧随其后的是