【发布时间】:2010-09-24 08:14:56
【问题描述】:
我经常编写小的 Python 脚本来遍历数据库表的所有行。 例如,向所有订阅者发送电子邮件。
我是这样做的
conn = MySQLdb.connect(host = hst, user = usr, passwd = pw, db = db)
cursor = conn.cursor()
subscribers = cursor.execute("SELECT * FROM tbl_subscriber;")
for subscriber in subscribers:
...
conn.close()
我想知道是否有更好的方法来执行此操作,因为我的代码可能会将数千行加载到内存中。
我认为使用LIMIT 可以做得更好。
也许是这样的:
"SELECT * FROM tbl_subscriber LIMIT %d,%d;" % (actualLimit,steps)
最好的方法是什么? 你会怎么做?
【问题讨论】: