【发布时间】:2011-10-11 02:50:30
【问题描述】:
我目前正在开发一个 Python 脚本,它使用从 MySQL 数据库中提取的一些数据来做一些事情。为了访问这些数据,我使用了模块MySQLdb。
该模块遵循PEP 249, the Python DB API 中规定的指导方针,包括创建一个连接对象和一个用于遍历信息的后续游标对象。
目前,在我的项目中,每当我需要执行 MySQL 读/写块时,我都会创建一个连接对象,然后在完成后关闭它。但是,我可以轻松地传递连接对象以避免这些重复的打开/关闭。
我的问题是:考虑到安全性、资源管理等,open; read/write; close; repeat for the next read/write; 方法是否比open; read/write; pass connection on for the next read/write; 方法更好?
编辑:更多上下文。这个特定的 Python 脚本是高度多线程的。复杂的进程/线程环境是否会影响哪种方法更合适?
【问题讨论】:
标签: python mysql mysql-python resource-management