小编Car*_*rlS的帖子

只读对象模型的SqlAlchemy优化

我有一个复杂的对象网络,使用sqlalchemy ORM映射从sqlite数据库中生成.我有很多深层嵌套:

for parent in owner.collection: 
    for child in parent.collection: 
        for foo in child.collection: 
            do lots of calcs with foo.property 
Run Code Online (Sandbox Code Playgroud)

我的分析表明,sqlalchemy仪器在这个用例中花了很多时间.

问题是:我不会在运行时更改对象模型(映射属性),因此一旦加载它我就不需要仪器,或者根本不需要任何sqlalchemy开销.经过大量的研究,我想我可能必须从我已经加载的"仪表化对象"中克隆一组"纯python"对象,但那将是一种痛苦.

性能在这里非常重要(它是一个模拟器),所以也许最好使用sqlite api将这些层写为C扩展.有什么想法吗?

python performance sqlalchemy readonly

9
推荐指数
1
解决办法
3719
查看次数

标签 统计

performance ×1

python ×1

readonly ×1

sqlalchemy ×1