我正在使用pymysql与sql db进行交互,这是代码: query = "SELECT * FROM my_table" c = db.cursor(pymysql.cursors.DictCursor) c.execute(query) c.fetchall()现在我正在为不多的3000个肠的数据库执行此操作,我计划在具有1500万个肠的数据库中使用此数据库,并且我希望将数据作为5000个肠的批次进行循环处理我想知道是否需要在查询中使用LIMIT和OFFSET来执行此操作,还是可以仅使用pymysql模块中的方法来执行此操作...谢谢
1 回答
温温酱
TA贡献1752条经验 获得超4个赞
我这样做的方式是这样的:
query = "SELECT * FROM my_table"
c = db.cursor(pymysql.cursors.DictCursor)
c.execute(query)
limit = 5000
not_done = True
while not_done:
data = []
for _ in range(limit):
try:
data += [c.fetchone()]
except:
not_done = False
break
do_something_with_data()
添加回答
举报
0/150
提交
取消