J'ai une collection de vecteurs La taille de la collectionrequête MongoDB prend beaucoup de temps
print vectors.count()
est
Quand j'itérer les champs
start = time.time()
for v in vectors.find({},{'vector' : 1, '_id' : 0}):
pass
print "total time:" , end-start
Temps total: 5,05100011826
mais quand je cours avec expliquer() Je vois que la requête prend beaucoup moins de temps.
print vectors.find({},{'vector' : 1, '_id' : 0}).explain()
{u'nYields ': 0, u'allPlans': [{u'cursor ': u'BasicCursor', u'indexBounds ': {}}], u'nChunkSkips' : 0, u 'millis': 23, un ': 102020, un' curseur ': u'BasicCursor', un 'index': {}, un 'objet numérisé': 102020, un 'clé' ': Faux , u'indexOnly ': Faux, u'nscanned': 102020}
Pourquoi une telle différence de temps énorme? Y a-t-il un moyen d'accélérer cela? J'ai chargé tous les vecteurs dans un champ de texte de base de données sql et la même requête était inférieure à une seconde. Merci
Est-ce que time.time() est en ms .. alors la requête normale prend 5ms et 23ms avec le explain? – Stennie