微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。