MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tại sao việc sắp xếp MongoDb chậm với các bộ sưu tập tra cứu

Hiện tại, việc tra cứu sẽ được thực hiện cho mỗi nhân viên_details, nghĩa là 330000 lần, nhưng nếu chúng ta sắp xếp và giới hạn lần đầu trước khi tra cứu, nó sẽ chỉ là 10 lần. Điều này sẽ làm giảm đáng kể thời gian truy vấn.

db.getCollection('employee_details').aggregate([
    {$sort      : {employee_fname: -1}},
    {$limit     :10},
    {
        $lookup : {
            from         : "departments",
            localField   : "department_id",
            foreignField : "_id",
            as           : "Department"
        }
    },
    { $unwind   : { path: "$Department", preserveNullAndEmptyArrays: true }},
]) 

Sau khi thử điều này, nếu bạn thậm chí muốn giảm thời gian phản hồi, bạn có thể xác định một chỉ mục trên trường sắp xếp.

db.employee_details.createIndex( { employee_fname: -1 } )



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Các trường cập nhật MongoDB trong mảng lồng nhau

  2. Máy chủ MongoDB vẫn có thể được truy cập mà không cần thông tin đăng nhập

  3. Tìm kiếm trong toàn bộ bộ sưu tập (mongodb) bằng cách sử dụng nodejs

  4. Lỗi khi tạo bean với tên 'personRepository':Không gọi được phương thức init; ngoại lệ lồng nhau là com.mongodb.util.JSONParseException:

  5. Trình điều khiển Nodejs hỗ trợ những phương thức con trỏ tổng hợp nào?