8

我到处查找 ObjectId,好像它们是蛋糕一样。

这个可以吗?_id字段应该被疯狂地查找,对吧?

4

4 回答 4

9

更准确的答案:MongoDB 使用 B-Tree 索引。在 B-Tree 中搜索特定值在平均和最坏情况下具有 O(log n) 复杂度,这可以被认为是相当快的(即二进制搜索)。虽然它不是恒定的复杂性 = O(1),所以如果索引大小增长大于可用 RAM,您仍然可能会产生一些减速效果。(MongoDB 尝试将索引保存在 RAM 中,并且在磁盘上查找索引所需的每个 IO 都会大大减慢您的查询速度)。

于 2011-07-01T20:07:12.353 回答
6

_id 是主键。它已编入索引。当然很快。

于 2011-07-01T19:40:34.807 回答
2

ObjectIds,如果您的主要数据访问方法,将是从 MongoDB 检索您的资料的最快方法。我们利用 MongoDB 作为大部分数据访问的密钥存储库。做你正在做的事,你会有很好的结果。

于 2011-07-01T20:06:57.263 回答
1

_id 字段的索引由 mongo 和默认主键自动创建。Speedwise,通过 _id 字段访问文档将非常快。

你有什么顾虑?

于 2011-07-01T19:57:07.493 回答