Asp.net连接Mongodb查询时没有限制条数,造成数据量特别大
2013-01-22 17:53
399 查看
这两天连mongodb的服务器老是有问题,打开任务管理器一看,内网的带宽打的是相当的高,服务器上只有调mongodb的页面,调mongodb走的是内网,所以应该是mongodb传输的数据量太大的问题,因为当连接数只有30个左右的时候,mongostat里的netout居然仍然有4M、5M左右,这个也太夸张了,于是仔细排查了下项目的代码,终于找到了问题的症结。
修改前:
documnetFilterResult = collection.Find(filterDocument).Sort("Date", IndexOrder.Descending).Documents.Take(60).ToList<Document>();
修改后:
documnetFilterResult = collection.Find(filterDocument).Sort("Date", IndexOrder.Descending).Limit(60).Documents.ToList<Document>();
两者乍一看没什么区别,都是按照日期排好序然后取前60条,但是却有本质的区别:
修改前的代码查询mongodb的操作是collection.Find(filterDocument).Sort("Date", IndexOrder.Descending).Documents
修改后的代码查询mongodb的操作是collection.Find(filterDocument).Sort("Date", IndexOrder.Descending).Limit(60).Documents
可以看出,修改前的代码要比修改后的代码的查询结果要大的多(修改前是全部,修改是全部中的前60条),虽然修改前的最后也做了条数限制,但是是得到数据后再处理的。
修改前:
documnetFilterResult = collection.Find(filterDocument).Sort("Date", IndexOrder.Descending).Documents.Take(60).ToList<Document>();
修改后:
documnetFilterResult = collection.Find(filterDocument).Sort("Date", IndexOrder.Descending).Limit(60).Documents.ToList<Document>();
两者乍一看没什么区别,都是按照日期排好序然后取前60条,但是却有本质的区别:
修改前的代码查询mongodb的操作是collection.Find(filterDocument).Sort("Date", IndexOrder.Descending).Documents
修改后的代码查询mongodb的操作是collection.Find(filterDocument).Sort("Date", IndexOrder.Descending).Limit(60).Documents
可以看出,修改前的代码要比修改后的代码的查询结果要大的多(修改前是全部,修改是全部中的前60条),虽然修改前的最后也做了条数限制,但是是得到数据后再处理的。
相关文章推荐
- Asp.net+Mysql,查询出错:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败
- Asp.net 后台绑定数据,前台没有反应的灵异事件. 八成有UpdatePanel 造成.
- 解析ASP.NET Mvc开发之查询数据实例
- asp.net连接数据持续更新中。
- asp.net mvc 4 json大数据异常 提示JSON字符长度超出限制的异常[转载]
- ASP.NET调用类连接Access数据库执行sql语句并以GridView方式读取表中数据
- node里面连接mongodb查询返回一天的数据(根据时间段查询)
- 绑定access数据库,asp.net 中 以DropDownList为查询条件 ,前台实现数据查询
- ASP.NET MVC 2入门演练 6 —— 分页查询数据
- ADO.NET 数据连接查询
- 解析ASP.NET Mvc开发之查询数据实例
- ISAPI和CGI限制中没有ASP.NET v4.0 ; vS2013检测到在集成的托管管道模式下不适用的 ASP.NET 设置。
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- asp.net IList查询数据后格式化数据再绑定控件
- asp.net中的数据连接
- 在ASP.NET 2.0中操作数据::基于用户对修改数据进行限制
- Asp.Net使用DataTable查询数据库数据
- 修改Windows Server 2008+IIS 7+ASP.NET默认连接限制,支持海量并发连接数
- 在ASP.NET 2.0中操作数据之七十:配置数据库连接和命令等级设置
- asp.net 我亲自体验页面刷新和后退造成的数据重复提交!