SqlAlchemy session.add()会导致内存不足吗?

时间:2013-08-21 03:29:53

标签: python sqlalchemy out-of-memory

我的python脚本中有一个无限循环,看起来像这样:

while True:
    obj = DatabaseObject(
        row_name_1 = 'name_1',
        row_name_2 = 'name_2'
    )
    session.add(obj)
    try:
        session.commit()
    except:
        session.rollback()

我的脚本需要不断地向数据库插入行,这一切都运行正常,我遇到的问题是我的脚本被Linux杀死,因为我的内存不足,所以这个SqlAlchemy方法是什么原因导致的我的剧本被杀?

1 个答案:

答案 0 :(得分:1)

如果您不需要obj以供将来参考,那么

session.expunge(obj)
del obj

应该在逻辑上有效。

session.expunge_all()也可以使用。