我的MongoDB只包含3.8k文档,并且大多数字段都已编制索引。此外,我通过的条件也被索引。但是获取这些结果文档需要5分钟以上的时间,总共可能需要2千个
Java代码:
Query query = query(where(DATE_TIME).gte(startDateLocal).andOperator(where(DATE_TIME).lte(endDateLocal)))
.with(Sort.by(Order.by("_id")));
query.fields().exclude(CarMakerDetailedSpecs);
addDefaultFilter(query);
List<CarMaker> CarMakerItems = mongoTemplate.find(query, CarMaker.class);
return CarMakerItems ;
结果查询:
{ "dateTime" : { "$gte" : { "$date" : 1484247600000}}, "$and" : [{ "dateTime" : { "$lte" : { "$date" : 1580324400000}}}], "carMaker" : { "$in" : ["Toyota", "Honda"]}} fields: Document{{carMaker.detailedSpecs=0}}
有趣的是,python中的同一查询速度足够快,可以立即得到结果。那个么,司机的问题能解决吗?因为另一个人也抱怨过here,还是我遗漏了什么?谢谢
我使用的是JavaSpringBoot2.2.4.RELEASE,Mongodb
我不知道它在@Query中有什么特殊之处,但令人惊讶的是,使用它将时间缩短到了几秒钟
相关问题 更多 >
编程相关推荐