我使用NodeJS,我有一个包含大量条目的MongoDB集合。99%的时间最后一项是选择,有时之前的条目。由于MongoDB必须逐个遍历所有条目,因此相反地对条目进行排序会更有用:而不是这样:
{
_id: "foo",
name: "name"
},
{
_id: "bar",
name: "name"
}
// <- new entry will be inserted here
我想用这个:
// <- new entry will be inserted here
{
_id: "foo",
name: "name"
},
{
_id: "bar",
name: "name"
},
因此,在大多数情况下,我搜索的条目是第一项或第二项。
这是可能的,甚至是必要的(它在速度上有什么不同吗)?
我也可以反转这些项目,然后迭代它们,但我不认为这会更快。
发布于 2015-02-14 12:52:39
你不应该关心物品在收藏中的位置。每个集合在_id字段上都有一个索引,所以如果您按照这个字段对集合进行排序,并接受第一个(第二个或第三个)元素,您很快就会进入(通常是0 ms)。
https://stackoverflow.com/questions/28515979
复制相似问题