假设我的收藏中有 1 亿份文件。
必须在此集合上执行具有许多
$match
条件的查询。我不会向 mongo 发送一个大请求,而是向该集合的模式添加一个计数器字段,为每个文档分配从 1 到 1 亿的值。该字段将被索引。
因此,我将发送 100 个查询,而不是这个大型查询,其中每个查询都有一个额外的过滤条件:查询 1 将检查该计数器字段的 1 到 100 万的文档,查询 2 ...,等等。
然后我会合并 100 个查询的结果。
当然,这100个query会同时发送,所以会并发处理。
这个模式会产生想象中的性能改进吗?