2017-02-19 12 views
0

Case1:Mysql、データベース(mysqlまたはmongodb)からN個のアイテムを選択する方法は?

以下のコードブロックは、データベースからN個のアイテムを取得し、それらをマルチスレッドでいくつかの関数に送信する方法を示します。たとえば、データベースから10k個のアイテムを選択するたびに総額は100百万であり、総計は100万/ 10k = 10kとなる。

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

ケース2:MongoDBは、

for result in db.find(): 
    yield result 

ジェネレータは、データベースは、データの大規模なセットを有する場合に大量のメモリを節約機能であるpymongo。

私が試みたのはitertool.isliceですが、これは単に発電機の最初のN個の項目を返します。だから、この2つのケースでは、毎回N個のアイテムを選択するより良い解決策はありますか?ありがとう!

答えて

-1

使用制限10000 *({page} - 1)、10000 in sql。 mongoの場合は、カーソルの関数skipとlimitも使用します。

次に、ループごとに10kドキュメントをバッチで取得できます。

+0

あなたの答えをありがとう、より明確にすることができますか? –

関連する問題