クエリセットを使用してdjangoから100万レコードを取得するのは遅い

ひまんしゅドゥア

以下のコードを使用しているテーブル(投稿)のすべてのオブジェクトを繰り返したい:

posts = Post.objects.all()
for post in posts:
   process_post(post)

process_post はバックグラウンドで実行され、投稿が更新されないセロリタスクですが、私が抱えている問題は、投稿テーブルに100万レコードがあることです。これは、1回限りのジョブではありません。毎日実行しています。

for post in posts

上記の行では、クエリが呼び出され、DBからすべてのデータを一度にフェッチします。

どうすればパフォーマンスを向上させることができますか?データをバッチでフェッチする方法はありますか?

itzMEonTV

あなた自身を作りなさいiteratorたとえば、1 millionレコードと言います。

count = Post.objects.all().count() #1 million
chunk_size = 1000   
for i in range(0, count, chunk_size):
    posts = Post.objects.all()[i:i+chunk_size]
    for post in posts:
        process_post(post)        

クエリセットでのスライスはLIMITOFFSET使用法を再生します。クエリは増加するごとに減少する可能性がchunk_sizeありますが、メモリ使用量も増加します。ユースケースに合わせて最適化します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Django-クエリセットの最後から2番目のレコードを取得する方法は?

分類Dev

大きなクエリテーブルで行インデックス100万から200万のレコードを取得するにはどうすればよいですか?

分類Dev

クエリを使用してセルのGoogleスプレッドシートから日付を取得する

分類Dev

Djangoのクエリセットで最後から2番目のレコードを取得するにはどうすればよいですか?

分類Dev

PHPmongoDBが100万レコードからフィルターされたカウントを取得するのが非常に遅い

分類Dev

100万レコードでクエリを実行するMYSQLサーバーが非常に遅い

分類Dev

クエリを使用してazurecosmosdbから100を超えるレコードをフェッチする方法

分類Dev

Djangoクエリセットで重複したレコードを取得する

分類Dev

セットからコレクションとして100個のオブジェクトを取得するにはどうすればよいですか?

分類Dev

Googleスプレッドシートのクエリ関数のselectステートメントを使用してセルからテキストを取得するにはどうすればよいですか?

分類Dev

クエリを使用してDynamoDbのテーブルからすべてのレコードを取得する方法

分類Dev

最新の日付スタンプを使用してJOINからレコードセットを取得するにはどうすればよいですか?

分類Dev

Node.jsを使用してSQLServerからMongoDBに100万を超えるレコードをストリーミングする

分類Dev

djangoクエリセットで次のn個のレコードを取得するには?

分類Dev

LINQクエリは、セットに特定の値を持つ2つのレコードが含まれているかどうかを確認しますか?

分類Dev

Elastic searchで使用する特定のCIDR範囲に基づいて、IPアドレスのフィールドからレコードのセットを取得するクエリ

分類Dev

条件に基づいてlinqクエリから100レコードを取得する方法

分類Dev

Djangoクエリセットからテンプレートの反復可能なカウントを取得するにはどうすればよいですか?

分類Dev

条件を満たしている場合にレコードのサブセットから値を条件付きで返すPostgresクエリ

分類Dev

Django1.11のクエリセットTruncYearから生成されたオブジェクトリレーションを使用してリストをシリアル化するにはどうすればよいですか?

分類Dev

Djangoでprefetch_relatedを使用してクエリセットから属性を取得するにはどうすればよいですか?

分類Dev

合計で100万のフィールドがある場合に、特定のセットを使用可能なセットと比較して、最も交差する要素を持つセットを見つけるにはどうすればよいですか?

分類Dev

SQLiteデータベースファイルから100万件のレコードを取得し、それをWPFデータグリッドに表示する最速の方法は何ですか?

分類Dev

クエリを使用してazurecosmosdbからすべてのレコードをフェッチする方法

分類Dev

OneToOneリレーションを介して別のクエリセットからクエリセットを取得する

分類Dev

各セットから最大バージョンのレコードを取得する方法。適切なlinqクエリは何ですか

分類Dev

複数のレコードを使用して動的列のピボットクエリを作成するにはどうすればよいですか?

分類Dev

固定アドレス委任を使用してハリケーンエレクトリックからipv6ネットワークをセットアップするにはどうすればよいですか?

分類Dev

トップ10クエリを使用して、それらに関連付けられているすべてのレコードを検索します

Related 関連記事

  1. 1

    Django-クエリセットの最後から2番目のレコードを取得する方法は?

  2. 2

    大きなクエリテーブルで行インデックス100万から200万のレコードを取得するにはどうすればよいですか?

  3. 3

    クエリを使用してセルのGoogleスプレッドシートから日付を取得する

  4. 4

    Djangoのクエリセットで最後から2番目のレコードを取得するにはどうすればよいですか?

  5. 5

    PHPmongoDBが100万レコードからフィルターされたカウントを取得するのが非常に遅い

  6. 6

    100万レコードでクエリを実行するMYSQLサーバーが非常に遅い

  7. 7

    クエリを使用してazurecosmosdbから100を超えるレコードをフェッチする方法

  8. 8

    Djangoクエリセットで重複したレコードを取得する

  9. 9

    セットからコレクションとして100個のオブジェクトを取得するにはどうすればよいですか?

  10. 10

    Googleスプレッドシートのクエリ関数のselectステートメントを使用してセルからテキストを取得するにはどうすればよいですか?

  11. 11

    クエリを使用してDynamoDbのテーブルからすべてのレコードを取得する方法

  12. 12

    最新の日付スタンプを使用してJOINからレコードセットを取得するにはどうすればよいですか?

  13. 13

    Node.jsを使用してSQLServerからMongoDBに100万を超えるレコードをストリーミングする

  14. 14

    djangoクエリセットで次のn個のレコードを取得するには?

  15. 15

    LINQクエリは、セットに特定の値を持つ2つのレコードが含まれているかどうかを確認しますか?

  16. 16

    Elastic searchで使用する特定のCIDR範囲に基づいて、IPアドレスのフィールドからレコードのセットを取得するクエリ

  17. 17

    条件に基づいてlinqクエリから100レコードを取得する方法

  18. 18

    Djangoクエリセットからテンプレートの反復可能なカウントを取得するにはどうすればよいですか?

  19. 19

    条件を満たしている場合にレコードのサブセットから値を条件付きで返すPostgresクエリ

  20. 20

    Django1.11のクエリセットTruncYearから生成されたオブジェクトリレーションを使用してリストをシリアル化するにはどうすればよいですか?

  21. 21

    Djangoでprefetch_relatedを使用してクエリセットから属性を取得するにはどうすればよいですか?

  22. 22

    合計で100万のフィールドがある場合に、特定のセットを使用可能なセットと比較して、最も交差する要素を持つセットを見つけるにはどうすればよいですか?

  23. 23

    SQLiteデータベースファイルから100万件のレコードを取得し、それをWPFデータグリッドに表示する最速の方法は何ですか?

  24. 24

    クエリを使用してazurecosmosdbからすべてのレコードをフェッチする方法

  25. 25

    OneToOneリレーションを介して別のクエリセットからクエリセットを取得する

  26. 26

    各セットから最大バージョンのレコードを取得する方法。適切なlinqクエリは何ですか

  27. 27

    複数のレコードを使用して動的列のピボットクエリを作成するにはどうすればよいですか?

  28. 28

    固定アドレス委任を使用してハリケーンエレクトリックからipv6ネットワークをセットアップするにはどうすればよいですか?

  29. 29

    トップ10クエリを使用して、それらに関連付けられているすべてのレコードを検索します

ホットタグ

アーカイブ