我希望使用SQLAlchemy将SQLite的.journal文件放在内存中以提高性能。我已经尝试了以下方法:
sqlite_db_engine = create_engine('sqlite:///%s' % str(dbname), connect_args = {'PRAGMA journal_mode':'MEMORY', 'PRAGMA synchronous':'OFF', 'PRAGMA temp_store':'MEMORY', 'PRAGMA cache_size':'5000000'})
db = sqlite_db_engine.connect()
并且这个:
sqlite_db_engine = create_engine('sqlite:///%s' % str(dbname))
db = sqlite_db_engine.connect()
db.execute("PRAGMA journal_mode = MEMORY")
db.execute("PRAGMA synchronous = OFF")
db.execute("PRAGMA temp_store = MEMORY")
db.execute("PRAGMA cache_size = 500000")
我尝试了很多方法,但都无法解决问题。对于长时间运行的事务,我仍然可以看到磁盘上创建了 .journal 文件。是否有其他方法可以解决这个问题?
*注意:我使用内置的Python SQLite模块没有问题。
DBAPIError: (TypeError) 'PRAGMA cache_size' is an invalid keyword argument for this function None None
。你是否也遇到了同样的错误? - Nilesh