pymongo - mongodb 的find()耗时太长,应该怎样优化?
世界只因有你
世界只因有你 2017-04-28 09:04:33
0
3
877

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

世界只因有你
世界只因有你

répondre à tous(3)
仅有的幸福

Il est recommandé de le faire en fonction de conditions de requête spécifiques lorsqu'elles sont obtenues de manière aléatoire. Ne sautez pas directement.

某草草

Connaissez-vous le cadre d'agrégation de Mongo ? Découvrez-le, la clé de la haute performance. Tant qu'il n'est pas inter-bibliothèques ou référencé, il peut être utilisé.

阿神

Créez d'abord un index sur l'élément, ce qui peut grandement améliorer la vitesse des requêtes. De plus, les conditions de nombres aléatoires peuvent être transformées en conditions de requête spécifiques (construites avec des nombres aléatoires). De plus, le cadre d'agrégation n'aide pas avec les requêtes de recherche simples comme la vôtre.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!