表现不一致;与Mongo shell相比,PyMongo运行速度非常慢

时间:2017-02-09 21:49:13

标签: python mongodb

我在localhost上有一个包含10M +文档的大型MongoDB(3.4)集合。在按时间字段创建索引后,我可以非常快速地查询文档。不幸的是,在Python 2.7.10上运行的我的PyMongo驱动程序(3.2.2)耗时很长,在5分钟的窗口范围内,长度超过50倍。

Robomongo中的此查询以0.1秒运行:

var d1 = new Date('2016-08-06');
var d0 = new Date('2016-08-01');
db.getCollection('my_collection').find({'time': {$gte: d0, $lte: d1}}).limit(50000);

Python版本采用> 5分钟:

#Index created previously
#time_index = IndexModel([('time', DESCENDING)], name='time')

d0 = datetime.datetime(2016, 8, 1)
d1 = datetime.datetime(2016, 8, 6)
coll = db['my_collection']
doc_filter = {'time': {
        '$gte': d0,
        '$lte': d1,
    }
}
doclist = [_document for _document in coll.find(doc_filter).limit(100)]
#doclist = [_document for _document in coll.find(doc_filter).hint('time').limit(100)]

hint()方法似乎也没有效果。 任何见解都将受到高度赞赏。谢谢!

0 个答案:

没有答案