显式关闭游标的必要性
- 论坛
- 显式关闭游标的必要性
11 浏览
显式关闭游标的必要性
我时不时地使用connection.cursor()
来执行原始查询,而不是使用ORM(因为它绝对不是万能药)。
我注意到在几个地方,我在完成数据库操作后没有显式调用cursor.close()
。到目前为止,这没有导致任何错误或性能问题。我想知道如果不显式关闭游标可能会遇到什么问题,有什么可能出错的地方?
据我了解,在Django中,connection
和cursor
遵循“Python数据库API规范v2.0”(PEP-249)。根据规范,cursor
会在调用__del__()
方法时自动关闭。我猜问题也可以是:有没有使用情况下不调用__del__()
方法的情况?
顺便说一下,我使用的是Python 2.7和Django 1.6.5版本。