我有一个集合X我必须应用一个过滤器。在MongoDb中优化复合索引搜索算法
滤波器被保存为sepparate实体(收集过滤器),并将其保持的唯一数据是字段名称和施加到该字段名称过滤的
例的条件:
Name is Stephan and Age BETWEEN 10,20
基本上,我必须改进的是,我的过滤器中的每个字段都是在创建过滤器时添加的索引呃。
匹配的唯一结构是筛选字段上的复合索引。
总之,问题是,当我有这样一个过滤器:
的名字是斯蒂芬与年龄之间10,20
我在MongoDB的复合指数将是:{“名称”:1, “时代”:1}
不过,如果我添加了另一个筛选,让我们说:年龄是10名是Adrian和高度之间170,180
复合索引是:{“时代”:1,“名称':1,'高度':1}
{ '名称':1, '年龄':1} <> { '年龄':1, '名称':1, '身高':1}
我能做些什么,使最后的指数拟合与第一和其他方式。
请让我知道如果我没有明确。
指数交点如何帮助我?对不起,但我对这个话题有些模糊。 – Gabriel
索引相交是一个允许db组合多个索引的功能,可以这么说。因此,对于每个可能的索引组合,您都不需要复合索引,但每个条件只有一个索引,例如一个用于年龄,名字和身高。对于一般情况,这是三个索引而不是六个,或'n'个索引而不是'n!'个索引。 – mnemosyn
您能否告诉我一些更准确的“无限范围查询”选项? – Gabriel