使用MongoDB和C#的窗口服务器中的RAM使用问题

时间:2013-06-11 13:02:42

标签: c# mongodb c#-4.0

我有Mongo数据库,大小为30 GB。 在Windows服务器中我有限的RAM空间 - 10GB 使用MongoDb C#驱动程序我正在尝试执行

query = (from da in collection.AsQueryable<FullTune>()
where da.Letter.Equals(Letter.ToUpper()) && da.Styles.Equals(Style)
select da).OrderBy(a => a.Title).Take(50).ToList();

它占用10GB内存和挂起服务器,使用Mongo控制台查询相同,工作正常,没有使用RAM。

如何解决这个性能问题。

1 个答案:

答案 0 :(得分:1)

据我所知,LINQ provider不支持.Equals(),可能需要在内存中执行它。

另外,作为样式指南,我通常不会像您一样将LINQ查询语法与LINQ扩展方法样式混合在一起,而是希望保持一致。

无论如何,我建议您将查询更改为以下内容:

result = collection.AsQueryable<FullTune>()
    .Where(ft => ft.Letter == Letter.ToUpper() && ft.Styles == Style)
    .OrderBy(ft => ft.Title)
    .Take(50);