Computer >> Máy Tính >  >> Lập trình >> MongoDB

Làm cách nào để cải thiện thời gian thực thi của một truy vấn trong MongoDB?

Để cải thiện thời gian thực thi của một truy vấn, hãy sử dụng chỉ mục cùng với duy nhất:true. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo193.createIndex({"LastName":1},{unique:true});
{
   "createdCollectionAutomatically" : true,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}
> db.demo193.insertOne({"FirstName":"John","LastName":"Doe"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3ade1803d395bdc21346d1")
}
> db.demo193.insertOne({"FirstName":"John","LastName":"Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3ade1f03d395bdc21346d2")
}
> db.demo193.insertOne({"FirstName":"David","LastName":"Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3ade2803d395bdc21346d3")
}

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.demo193.find();

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5e3ade1803d395bdc21346d1"), "FirstName" : "John", "LastName" : "Doe" }
{ "_id" : ObjectId("5e3ade1f03d395bdc21346d2"), "FirstName" : "John", "LastName" : "Smith" }
{ "_id" : ObjectId("5e3ade2803d395bdc21346d3"), "FirstName" : "David", "LastName" : "Miller" }

Sau đây là truy vấn để tìm một giá trị với thời gian thực thi nhanh hơn -

> db.demo193.find({"LastName":"Smith"});

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5e3ade1f03d395bdc21346d2"), "FirstName" : "John", "LastName" : "Smith" }