MongoDb C#ToList性能降低有什么改善的方法吗?

问题描述


标题所示,我发现MongoDb C#驱动程序在数据表现方面非常慢。

我有一个包含1000个文档的集合。它们不会增长,我需要从这个收藏物中阅读很多东西。
一个简单的查询

db.GetCollection<BsonDocument>("collection_name")
  .Aggregate()
  .Match(Builders<BsonDocument>.Filter.Gte("age",30))

可以找到大约200个文档,并且使用MongoDbCompass的解释计划,它很快。

问题是,当我需要显示这200个文档(使用.ToList()或.ToListAsync())时,它需要大约 10秒
对于800个文档,它需要 30秒
好的,也许我不需要所有这些内容,因为我将向用户显示的是一个分页的网页=> 因此我添加了Skip(n)和Limit(n + 20),但由于此限制,它需要 1.5秒才能显示。很多!

每个文档重1kb,它们都具有20个属性,其中一个属性是一组子文档。目前,我以BsonDocumet的形式获取数据,因为我尚未确定文档结构。

所以我要问...这结束了吗?有什么我可以做的吗?

非常感谢! T_T

修改
我正在使用最新的C#MongoDb驱动程序(2.11.1)

Edit2
我已经找到了需要搜索属性的索引。
同样,此结果来自localhost:27017,所以全部在本地。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)