开发者

mongoDB run queries just like as SQL !

    public IQueryable<T> GetRecords<T>(System.Linq.Expressions.Expression<Func<T, bool>> expression, int from, int first) where T : class, new()
    {
        first = first == 0 ? 30 开发者_运维问答: first;
        return _db.GetCollection<T>(collectionName).Linq().Where(expression).Skip(from).Take(first);
    }
    var x = GetRecords<Event>(p => true, 0, 12222);
    string eventJson = new JavaScriptSerializer().Serialize(x);

this function get the data from mongoDB.

    SqlDataReader dr = SqlHelper.ExecuteReader("Select Top(12222)* From NewsFeed");
    string eventJson = new JavaScriptSerializer().Serialize(dr);

and this from SQL Server .

I've tried to measure the execute time for each of them and the result was :

Mongo : 172ms

SQL : 185ms .

but as I know the mongoDB should be too much faster than SQL , right !?!


MongoDB isn't necessarily about out-performing SQL server in a simple query like that; The speed advantage comes in when you have ancillary data. I don't know what your domain looks like, but a common example is a blog. In a SQL database, you would have a posts table, a comments table, an authors table, etc. Your query to retrieve all the data required for a single blog post display would either include a few joins or multiple queries (either way will affect the performance a bit). In a NoSQL database, there could be a single table, Posts. One query with no joins will pull back all required data.

Here's a nice blog post talking about the different approaches between a NoSQL type store and a relational store.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜