将一个大查询分成 N 个并发的小查询

问题描述 投票:0回答:0

假设我的收藏中有 1 亿份文件。

必须在此集合上执行具有许多

$match
条件的查询。我不会向 mongo 发送一个大请求,而是向该集合的模式添加一个计数器字段,为每个文档分配从 1 到 1 亿的值。该字段将被索引。

因此,我将发送 100 个查询,而不是这个大型查询,其中每个查询都有一个额外的过滤条件:查询 1 将检查该计数器字段的 1 到 100 万的文档,查询 2 ...,等等。

然后我会合并 100 个查询的结果。

当然,这100个query会同时发送,所以会并发处理。

这个模式会产生想象中的性能改进吗?

database mongodb mongodb-query aggregation-framework query-optimization
© www.soinside.com 2019 - 2024. All rights reserved.