Python 如何从数据库(mysql或mongodb)中每次选择N个项目?

Python 如何从数据库(mysql或mongodb)中每次选择N个项目?,python,mysql,mongodb,generator,Python,Mysql,Mongodb,Generator,案例1:Mysql,pymysql 下面显示的代码块将生成一个生成器,如何从数据库中获取N个项目并通过多线程将它们发送到某个函数。例如,每次我要从数据库中选择10k项目,而项目总数为1亿,因此总计数将为1亿/10k=10k cursor.execute(sql) for result in cursor: yield result 案例2:pymongo Mongodb for result in db.find(): yield result Generator是一个在数据库

案例1:Mysql,pymysql

下面显示的代码块将生成一个生成器,如何从数据库中获取N个项目并通过多线程将它们发送到某个函数。例如,每次我要从数据库中选择10k项目,而项目总数为1亿,因此总计数将为1亿/10k=10k

cursor.execute(sql)
for result in cursor:
     yield result
案例2:pymongo Mongodb

for result in db.find():
  yield result
Generator是一个在数据库有大量数据时可以节省大量内存的函数


我尝试的是itertool.islice,但它只返回生成器的前N项。那么,对于这两种情况,您是否有更好的解决方案来每次选择N个项目?谢谢

在sql中使用limit 10000*{page}-1,10000。 对于mongo,还可以使用cursor的函数skip和limit


然后,您可以在每个循环中批量获得10000份文档。

谢谢您的回答,您能说得更清楚吗?