首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >百万行的MongoDB计数非常慢

百万行的MongoDB计数非常慢
EN

Stack Overflow用户
提问于 2016-03-24 17:22:04
回答 3查看 1.9K关注 0票数 0

将MongoDB 2.4与mongoDB .NET驱动程序3.2配合使用

我有一个三千万条记录的收藏。

代码语言:javascript
复制
var visits = new MongoHelper<CampaignVisitLog>()
         .GetCollection().AsQueryable().Count(t => t.campaignId == campaignId);

campaignId已编入索引。根据campaignId的许多条目,返回计数需要30秒到几分钟的时间。

怎样才是计算这些收藏品的正确方法呢?

EN

回答 3

Stack Overflow用户

发布于 2016-03-24 17:43:40

我有一个三千万个条目的集合。

除了优化整个查询之外,你不能认为你会得到数以百万计的项目的快速响应。

如果您正在执行其他查询来获取统计数据,也许是时候安排这些计算,并使用一些异步服务(例如,Windows服务、Windows计划任务、Quartz.NET...)来执行它们,并且也可以异步地获取它们的结果。

您可以使用MongoDB来存储计算服务结果,也可以使用更具体的解决方案:服务总线(即RabbitMQ、Azure service Bus、NServiceBus...)。

票数 1
EN

Stack Overflow用户

发布于 2016-05-25 20:58:45

MongoDB C#驱动程序病了。

LINQ查询始终转换为聚合框架管道。

代码语言:javascript
复制
var pipeline = [ { "$group" : { "_id" : 1, "__result" : { "$sum" : 1 } } }]
db.test.aggregate(pipeline)

这将导致在服务器上进行完全集合扫描,因为LINQ查询未指定任何约束。

票数 1
EN

Stack Overflow用户

发布于 2016-03-24 20:21:33

确保你有足够的内存在内存中存储你的索引。

https://docs.mongodb.org/manual/tutorial/ensure-indexes-fit-ram/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36196738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档