提高大型集合查询的速度

时间:2017-03-13 09:40:00

标签: mongodb performance mongodb-query

查询包含300万个项目的集合(集合大小为15GB)。

//indexing
{name : 1}

//query
db.getCollection('contacts').find({name :"kello"}).limit(500)

该计算机具有2Cores8GB内存,完成此查询需要 30秒。让客户等待大约半分钟是不可能的。

我可以做些什么来加速它?

是否可以使用包含16GB / 32GB内存的机器并配置mongodb将整个集合缓存到内存中,以便它可以在内存中完成查询?

或者,我应该有几台8GB机器才能拥有分片群集吗?

这些方法会提高查询速度吗?

1 个答案:

答案 0 :(得分:0)

您可以创建索引来搜索文档以获得更快的响应。您还可以使用弹性搜索来获得更快的响应。

https://www.compose.com/articles/mongoosastic-the-power-of-mongodb-and-elasticsearch-together/