我正在使用pymysql与sql数据库进行交互,代码如下:
query = "SELECT * FROM my_table"
c = db.cursor(pymysql.cursors.DictCursor)
c.execute(query)
c.fetchall()现在,我对一个包含3000个enteries的数据库执行此操作,这并不是很多,我计划在包含1500万个enteries的数据库上使用此方法,并希望将数据作为包含5000个enteries的批处理进行循环
我想知道我是否需要在查询中使用LIMIT和OFFSET来做到这一点,或者我可以只使用pymysql模块中的方法来做到这一点……谢谢
发布于 2019-04-04 19:08:11
我这样做,是这样的:
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()https://stackoverflow.com/questions/51976669
复制相似问题