采用Flask-SQLAlchemy做了一个数据管理工具,其中要实现的一个功能是对记录按一定规则频繁查询。调试发现随着查询次数增加,电脑的内存被占满了,显然是程序写的有问题,但对于刚接触的我,还没什么解决问题的思路。
查阅网上的资料,这篇文章解决了我的问题:
每次执行完查询后,调用session.remove()清空一下就好了,即释放连接并回滚事务操作。
...
for i in range(times):
db.session.query(self.myModule).all()
self.session.remove()
...