【发布时间】:2016-11-29 07:27:20
【问题描述】:
假设数据库“testdb”有集合“testcollection”。在这个集合中,有一个关键的“testfield”。 此集合包含数十亿份文档。
即使是数十亿个文档,也可以非常快速地找到键“testfield”的确切值,因为索引是基于基数树的(可能?)。
model.find({
testfield: "some-value"
})
但是,当在一系列值中查找时,它仍然对这数十亿个文档快速吗?
model.find({
testfield:{
$gte: "some-lower-value",
$lte: "some-upper-value"
}
})
【问题讨论】:
-
一切都取决于确切的键索引排序。这又取决于构建数据库时的设置和配置(事后也可以更改)。如果它是
testfield值的排序列表,那么它应该相对较快[假设上限和下限相对接近,显然如果您的范围很广,那么数据库的很大一部分会按照您的方式发送,这可能需要一段时间]
标签: c++ mongodb performance nosql