c# - MongoDB 需要大量时间来查询大量记录
问题描述
MongoDB 需要花费大量时间来返回 800 条记录。大约需要 30-35 秒。而具有 23,000 多条记录的本地数据库需要 1 秒。这让我知道当 db 是远程的时候问题就来了。
寻求该地区社区的帮助。
_database 指向 IMongoDatabase 并且 c# 的 mongodb 驱动程序正在用于此代码。
var options = new FindOptions<SomeEntity>
{
Sort = Builders<SomeEntity>.Sort.Descending(x => x.Id),
BatchSize = 1000
};
var someEntities = await _database
.GetCollection<SomeEntity>("SomeEntity")
.FindAsync(rule => true, options).ConfigureAwait(false);
var list = new List<SomeEntity>();
while (await someEntities.MoveNextAsync())
{
list.AddRange(someEntities.Current.ToList());
}
解决方案
推荐阅读
- git - 在 cirrus-ci 下 git describe --tags --always 返回 sha1 而不是 tag
- javascript - 在 Vuetify 中隐藏其他组件后展开卡片组件并居中
- ruby-on-rails - 为什么我不能在 HTML 中包含动态 image_tag?
- python - 使用没有 for 循环的 Scipy 将向量与自身卷积 n 次
- php - AJAX 数据未提交给 Laravel 控制器 - Laravel 6
- leaflet - Leafletjs,覆盖最大放大选项
- docker - 在 Kubernetes 中遇到端口转发的连接超时问题?
- maven - maven checkstyle 插件的 JavaDocMethod 属性在构建期间未找到
- c++ - 如何知道内存分配器中项目的父块
- c# - 未分配的局部变量并将 char 转换为字符串