加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何使用SQLAlchemy设置SQLite PRAGMA语句

发布时间:2020-12-12 19:04:38 所属栏目:百科 来源:网络整理
导读:我希望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','PR
我希望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模块没有问题

基本上你应该可以重写关于外键的例子来实现你想要的.看看 https://stackoverflow.com/a/7831210/1890086
engine = create_engine(database_url)

def _fk_pragma_on_connect(dbapi_con,con_record):
    dbapi_con.execute('PRAGMA journal_mode = MEMORY')
    # ...

from sqlalchemy import event
event.listen(engine,'connect',_fk_pragma_on_connect)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读