当我使用使用3个选择器对数据库进行查询时,该查询需要15秒才能完成并打印结果。当我将限制设置为2(请参阅下面的代码)时,结果会很快出现,但在2之后要花费更长的时间。目前,这个数据库中有19万份文件。我是不是错过了能加速这件事的东西?
query = cloudant.query.Query(db,selector={'_id': {'$gt': 0},'userid':{'$eq':'56900'},'year':{'$eq':'[2011]'}},fields=['_id','userid','year'],sort=['_id'],limit=2)
for doc in query()['docs']:
print doc(此查询的目标是从包含"2011“字段的userid "56900”中获取所有记录,并通过_id对它们进行排序)
发布于 2016-05-17 11:47:04
根据对这个问题的评论。之所以速度慢,是因为选择器的'_id': {'$gt': 0}部分导致对所有文档进行扫描,以查看是否与选择器的其余部分匹配。删除这个子句并将字段userid和year索引起来会有很大的增加。
https://stackoverflow.com/questions/37200902
复制相似问题