开发者

SQL Server Vs MongoDB : Speed test?

开发者 https://www.devze.com 2023-02-06 15:30 出处:网络
MongoDB: var x = nosql.GetRecords<Event>(p => p._Data == \"rawhix\", 0, 12222); // ICursor<T> GetRecords<T>(expression, skip, limit);

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'");

the MongoDB contains 1000000 record which are the same in the SQL .

the data stored as the following:

Id = 1 , _Data = 1abc
Id = 2 , _Data = 2bc 
... etc

Event c开发者_高级运维lass :

Class Event => int Id => string _Data 

when I run the code the result is:

Mongo : 580ms

SQL : 102ms

Should I do anything to fix this !! because the mongo was always faster except this test !?!


You need an index. Run this in the mongo console:

db.Events.ensureIndex({_Data:1});

or you can call it through the C# driver:

MongoDatabase db = server.GetDatabase("your_db_name");
MongoCollection<Event> events = hr.GetCollection<Event>("events");
employees.EnsureIndex("_Data");

You wouldn't want to do this on every call though since it is another call to the DB and will have a very tiny performance hit.

0

精彩评论

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