【发布时间】:2012-03-29 02:43:27
【问题描述】:
我希望 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模块没有问题
【问题讨论】:
-
我也尝试添加一个像这个线程这样的监听器:stackoverflow.com/questions/2614984/…
-
我在尝试使用您的代码时收到错误
DBAPIError: (TypeError) 'PRAGMA cache_size' is an invalid keyword argument for this function None None。你也遇到了同样的错误? -
我没有收到任何错误,代码执行得很好,但显然什么也没做。
标签: sqlite sqlalchemy