sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvorfor MongoDb-sortering er langsom med opslagssamlinger

I øjeblikket vil der blive lavet opslag for hver medarbejder_detaljer, hvilket betyder 330.000 gange, men hvis vi først sorterer og begrænser før opslag, vil det kun være 10 gange. Dette vil i høj grad reducere forespørgselstiden.

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

Efter at have prøvet dette, hvis du overhovedet ønsker at reducere responstiden, kan du definere et indeks på sorteringsfeltet.

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



  1. mongodb forbindelse timeout fejl

  2. MongoDB - Svarende til LEFT JOIN, hvor en samling ikke findes

  3. Tæt på operatør for geojson punkt returnerer fejl, når maxdistance bruges i forespørgsel

  4. Hvordan befolker man i dette tilfælde Mongoose?