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

MongoDB 'count ()' rất chậm. Làm thế nào để chúng tôi làm việc với nó?

Bạn có thể sử dụng ensureIndex () để tăng hiệu suất của phương thức count () trong MongoDB. Để hiểu khái niệm, chúng ta hãy tạo một bộ sưu tập với tài liệu. Truy vấn để tạo một bộ sưu tập với một tài liệu như sau -

> db.countPerformanceDemo.insertOne ({"StudentName":"John", "StudentCountryName":"US"}); {"nition ":true," insertId ":ObjectId (" 5c8ebcf82f684a30fbdfd55f ")}> db. countPerformanceDemo.insertOne ({"StudentName":"Mike", "StudentCountryName":"UK"}); {"Recognition":true, "insertId":ObjectId ("5c8ebd042f684a30fbdfd560")}> db.countPerformanceDemo.insertO.insert StudentName ":" David "," StudentCountryName ":" AUS "}); {"nition":true, "insertId":ObjectId ("5c8ebd112f684a30fbdfd561")}> db.countPerformanceDemo.insertOne ({"StudentName":"Carol" , "StudentCountryName":"US"}); {"inherit":true, "insertId":ObjectId ("5c8ebd1a2f684a30fbdfd562")}> db.countPerformanceDemo.insertOne ({"StudentName":"Bob", "StudentCountryName":" UK "}); {" inherit ":true," insertId ":ObjectId (" 5c8ebd212f684a30fbdfd563 ")}> db.countPerformanceDemo.insertOne ({" StudentName ":" David "," StudentCountryName ":" UK "}); { "inherit":true, "insertId":ObjectId ("5c8ebd9a2f684a30f bdfd564 ")}> db.countPerformanceDemo.insertOne ({" StudentName ":" David "," StudentCountryName ":" US "}); {" Recog ":true," insertId ":ObjectId (" 5c8ebd9e2f684a30fbdfd565 ")}  

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 (). Truy vấn như sau -

> db.countPerformanceDemo.find (). pretty (); 

Sau đây là kết quả -

 {"_id":ObjectId ("5c8ebcf82f684a30fbdfd55f"), "StudentName":"John", "StudentCountryName":"US"} {"_id":ObjectId ("5c8ebd042f684a30fbdfd560"), "Mike" , "StudentCountryName":"UK"} {"_id":ObjectId ("5c8ebd112f684a30fbdfd561"), "StudentName":"David", "StudentCountryName":"AUS"} {"_id":ObjectId ("5c8ebd1a2f684a30"), 5c8ebd1a2f684a30 " StudentName ":" Carol "," StudentCountryName ":" US "} {" _id ":ObjectId (" 5c8ebd212f684a30fbdfd563 ")," StudentName ":" Bob "," StudentCountryName ":" UK "} {" _id ":ObjectId ( "5c8ebd9a2f684a30fbdfd564"), "StudentName":"David", "StudentCountryName":"UK"} {"_id":ObjectId ("5c8ebd9e2f684a30fbdfd565"), "StudentName":"David"}  

Đây là truy vấn để lấy dạng count () -

hiệu suất cao
> db.countPerformanceDemo.ensureIndex ({"StudentName":1}); {"createCollectionAutomatically":false, "numIndexesBefore":1, "numIndexesAfter":2, "ok":1} 

Bây giờ, thực hiện phương thức count (). Nó đếm các bản ghi với StudentName “David”:

> db.countPerformanceDemo.find ({"StudentName":"David"}). count (); 

Sau đây là kết quả -

 3