【发布时间】:2011-01-24 11:15:40
【问题描述】:
MongoDB:
var x = nosql.GetRecords<Event>(p => p._Data == "rawhix", 0, 12222);
// ICursor<T> GetRecords<T>(expression, skip, limit);
SQL:
SqlDataReader dr = SqlHelper.ExecuteReader("Select Top(12222)* From NewsFeed WHERE _Data = 'dddd'");
MongoDB 包含 1000000 条与 SQL 中相同的记录。
数据存储如下:
Id = 1 , _Data = 1abc
Id = 2 , _Data = 2bc
... etc
Event类:
Class Event => int Id => string _Data
当我运行代码时,结果是:
Mongo : 580ms
SQL:102 毫秒
我应该做些什么来解决这个问题!因为除了这个测试,mongo 总是更快!?!
【问题讨论】:
-
对于这种简单的查询,您为什么认为 MongoDB 会比 SQL Server 更快?假设您在 _Data 列上有一个适当的索引,我希望任何关系数据库在这种类型的查询中都快如闪电。说真的 - 这种类型的基准证明什么都没有。
-
这是转发吗?另外,昨天你的结果是“Mongo:172ms SQL:185ms”。 - 这不是同一个问题吗?那么发生了什么变化?
-
这里我试图寻找一个不存在的结果!!
-
您可以将 SQL 部分排除在此问题之外,它仍然可以正常工作 - 580 毫秒的简单查询意味着您需要一个索引。
-
您有一个错误的假设,即 MongoDB 是某种下一代的东西,它将把所有类型的 SQL 服务器都淘汰出局。它不是,它只是一个执行类似的工具,尽管与 SQL 服务器的角色不同。所以,这种测试毫无意义,就像问塞巴斯蒂安·勒布比费尔南多·阿隆索快。
标签: c# sql-server linq performance mongodb