考虑这段代码:
MongoServer mongo = MongoServer.Create();
mongo.Connect();
Console.WriteLine("Connected");
Console.WriteLine();
MongoDatabase db = mongo.GetDatabase("tutorial");
Stopwatch stopwatch=new Stopwatch();
stopwatch.Start();
using (mongo.RequestStart(db))
{
MongoCollection<BsonDocument> collection = db.GetCollection<BsonDocument>("books");
for (int i = 0; i < 100000; i++)
{
var nested = new BsonDocument
{
{"name", "John Doe"},
};
collection.Insert(nested);
}
}
stopwatch.Stop();
Console.WriteLine(stopwatch.ElapsedMilliseconds);
Console.ReadLine();
在第一行中,我使用了已过时的 MongoServer.Create()。但是在上面运行代码时,输出时间是3056
(大约 3 秒)。
所以我使用 MongoDb 文档推荐的这段代码。
MongoClient mongo = new MongoClient();
var server = mongo.GetServer();
MongoDatabase db = server.GetDatabase("tutorial");
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
using (server.RequestStart(db))
{
MongoCollection<BsonDocument> collection = db.GetCollection<BsonDocument>("books");
for (int i = 0; i < 100000; i++)
{
var nested = new BsonDocument
{
{"name", "John Doe"},
};
collection.Insert(nested);
}
}
stopwatch.Stop();
Console.WriteLine(stopwatch.ElapsedMilliseconds);
Console.ReadLine();
当上面的代码运行时,输出时间是14225
(在我的电脑上大约 10 到 14 秒)。为什么我在新版本的 mongoDb 上重构代码后得到了这个性能时间。我错过了什么?