sqlalchemy在遍历大量结果ORM对象时占用内存问题解决

python在内存管理上有一个特色,分配出去的内存,及时对象的引用计数为0,也不会当即释放内存,而是做为内存缓存,等待下次分配,到某个时机才会回收内存,所以在使用sqlalchemy的时候,若是查询结果包含大量结果(大于1000个),须要遍历每一个ORM的时候,调用query().all()方法会致使内存激增(sqlalchemy会把全部对象放在内存中),下面是遍历290000+条记录的内存激增:
相关文章
相关标签/搜索