MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Warum die MongoDb-Sortierung bei Nachschlagesammlungen langsam ist

Derzeit wird die Suche für alle Mitarbeiter_Details durchgeführt, was 330000 Mal bedeutet, aber wenn wir vor der Suche zuerst sortieren und einschränken, werden es nur 10 Mal sein. Dadurch wird die Abfragezeit erheblich verkürzt.

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 }},
]) 

Wenn Sie dies versucht haben und sogar die Reaktionszeit verkürzen möchten, können Sie einen Index definieren im Sortierfeld.

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