为什么循环pymongo.cursor.Cursor对象需要很长时间,即使该对象中没有数据?

时间:2016-05-19 16:03:29

标签: python algorithm mongodb optimization pymongo

例如,我在我的python文件中有这个代码:

    kpidata=db.kpidata

    start=time.time()

    starttime="06:00:00"
    endtime="06:10:00"
    demodate="10/05/2016"



    for min in kpidata.find():  
        print min

    print(time.time()-start)

假设kpidata.find()将给出一个空的Cursor对象,但循环遍历它,甚至将其转换为列表 - 列表(kpidata.find())将花费大量时间。在我的情况下,我花了4秒钟。

有人可以解释原因吗?

最新代码更新:

from QuerylocationITE import *
from QuerylocationCRAC import *
import pymongo
from pymongo import MongoClient
import datetime
from datetime import *
import os
import glob
import time

kpidata=db.kpidata

starttime="06:00:00"
endtime="06:10:00"
demodate="10/05/2016"
print("\n\n\n\n\n\n")
start=time.time()
store=kpidata.find({"voltage":"-100"}).batch_size(1000)
print(store.count())

print(time.time()-start)
print("\n")
start=time.time()

count=0
for min in store:
    count=count+1

print(time.time()-start)
print("\n")
start=time.time()
list(store)


print(time.time()-start)

,输出为0,4.25277400017,4.11696910858,1.00135803223e-05

任何想法,现在我想花了很多时间查询数据库的数据

0 个答案:

没有答案