簡體   English   中英

如何每次從數據庫(mysql或mongodb)中選擇N個項目?

[英]how to select N items each time from database(mysql or mongodb)?

案例1:Mysql,pymysql

如下所示的代碼塊將生成一個生成器,如何從數據庫中獲取N個項目並將其發送到具有多線程的某個函數中,例如,每次我想從數據庫中選擇1萬個項目,而總項目為1億個,那么總計數將是1億/ 10k = 10k。

cursor.execute(sql)
for result in cursor:
     yield result

案例2:Mongodb,pymongo

for result in db.find():
  yield result

當數據庫包含大量數據時,Generator是一種節省大量內存的功能。

我嘗試過的是itertool.islice,但是它只返回生成器的前N個項目。 那么對於這兩種情況,您是否有更好的解決方案來每次選擇N個項目? 謝謝!

使用限制10000 *({page}-1),10000 in sql。 對於mongo,也可以使用游標的跳過和限制功能。

然后,您可以在每個循環中批量獲取1萬個文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM