sqlalchemy在遍歷大量結果ORM對象時佔用內存問題解決

python在內存管理上有一個特色,分配出去的內存,及時對象的引用計數爲0,也不會當即釋放內存,而是做爲內存緩存,等待下次分配,到某個時機纔會回收內存,所以在使用sqlalchemy的時候,若是查詢結果包含大量結果(大於1000個),須要遍歷每一個ORM的時候,調用query().all()方法會致使內存激增(sqlalchemy會把全部對象放在內存中),下面是遍歷290000+條記錄的內存激增:
相關文章
相關標籤/搜索