【发布时间】:2014-08-30 22:55:53
【问题描述】:
有时,我会使用 connection.cursor() 而不是 ORM 执行原始查询(因为它绝对不是灵丹妙药)。
我注意到,在我使用完数据库后,在几个地方我不会显式调用cursor.close()。到目前为止,这还没有导致任何错误或性能问题。我想知道如果不显式关闭光标,我可能会遇到什么样的问题,会出现什么问题?
据我了解,Django 中的connection 和cursor 遵循“Python 数据库API 规范v2.0”(PEP-249)。而且,根据它,每当调用__del__() 方法时,cursor 都会自动关闭。我想问题也可能是:是否有不调用的用例?
仅供参考,我使用的是 Python 2.7 和 Django 1.6.5。
【问题讨论】:
-
我猜这和stackoverflow.com/questions/5669878/…这个问题很相似??
-
@AamirAdnan 谢谢,不完全 - 在发布之前看到它。我知道如何关闭光标。问题是不关闭它有多糟糕以及后果是什么。
标签: python django database-connection database-cursor