相关疑难解决方法(0)

SQLAlchemy:使用ORM扫描大表?

我目前正在玩SQLAlchemy,这真的很整洁.

为了测试,我创建了一个包含我的图片存档的大表,由SHA1哈希索引(删除重复:-)).这是令人印象深刻的快...

为了好玩,我select *在生成的SQLite数据库上做了相同的操作:

session = Session()
for p in session.query(Picture):
    print(p)
Run Code Online (Sandbox Code Playgroud)

我希望看到哈希滚动,但它只是继续扫描磁盘.与此同时,内存使用率暴涨,几秒后达到1GB.这似乎来自SQLAlchemy的身份地图功能,我认为它只保留弱引用.

有人可以向我解释一下吗?我认为在写出哈希后会收集每个Picture p!?

python performance orm sqlalchemy

39
推荐指数
3
解决办法
2万
查看次数

标签 统计

orm ×1

performance ×1

python ×1

sqlalchemy ×1