我收集 MongoDB 使用二叉树作为字段索引,所以要得到一个范围应该可以找到第一个较低的,然后遍历索引到上限并退出。
他们有他们的查询过滤器,您可以在其中组合各种逻辑操作,并且想知道当过滤器应用于服务器上的数据时,是否有任何过滤器或查询操作组合会导致上述优化发生。
一种指定“范围内”过滤器的方法,如果首先应用该过滤器,则会在调用逻辑图中更随机的过滤器之前退出。即服务器上的搜索被优化为仅遍历所需的初始指定范围。
value = findAbove(min);
while( value > start) {
if(value >= max) {
break;
}
if(filterGraph.matches(value) addToOutput(value);
value = nextAbove(value);
}
replyWithOutput(output);
什么查询规范可能会导致指定的过滤器图被“编译”,所以这个优化是在服务器上完成的?这对我来说很重要,因为集合很大,范围很小。