検索

ホームページ  >  に質問  >  本文

pymongo - mongodb 的find()耗时太长,应该怎样优化?

目的: 在超过10万条数据 随机 选取一条数据。
我的方法: data=db[item].find().skip(random_num).limit()
遇到问题: 耗费时间很长才能随机找到数据。根据profile测试,是因为find().怎么优化?

世界只因有你世界只因有你2825日前923

全員に返信(3)返信します

  • 仅有的幸福

    仅有的幸福2017-04-28 09:06:33

    ランダムに取得する場合は、特定のクエリ条件に従って行うことをお勧めします。直接スキップしないでください。

    返事
    0
  • 某草草

    某草草2017-04-28 09:06:33

    mongo の集計フレームワークをご存知ですか?高性能の鍵をチェックしてください。ライブラリ間または参照されない限り、使用できます。

    返事
    0
  • 阿神

    阿神2017-04-28 09:06:33

    まずアイテムにインデックスを作成します。これにより、クエリ速度が大幅に向上します。さらに、乱数条件を特定のクエリ条件 (乱数で構築) に変えることができます。さらに、集計フレームワークは、あなたのような単純な検索クエリには役に立ちません。

    返事
    0
  • キャンセル返事