显式关闭游标的必要性

11 浏览
0 Comments

显式关闭游标的必要性

我时不时地使用connection.cursor()来执行原始查询,而不是使用ORM(因为它绝对不是万能药)。

我注意到在几个地方,我在完成数据库操作后没有显式调用cursor.close()。到目前为止,这没有导致任何错误或性能问题。我想知道如果不显式关闭游标可能会遇到什么问题,有什么可能出错的地方?

据我了解,在Django中,connectioncursor遵循“Python数据库API规范v2.0”(PEP-249)。根据规范,cursor会在调用__del__()方法时自动关闭。我猜问题也可以是:有没有使用情况下不调用__del__()方法的情况?

顺便说一下,我使用的是Python 2.7和Django 1.6.5版本。

0