MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Por que a classificação do MongoDb é lenta com coleções de pesquisa


Atualmente, a pesquisa será feita para cada employee_details, o que significa 330.000 vezes, mas se primeiro classificarmos e limitarmos antes da pesquisa, serão apenas 10 vezes. Isso diminuirá bastante o tempo de consulta.
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 }},
]) 

Depois de tentar isso, se você quiser diminuir o tempo de resposta, pode definir um index no campo de classificação.
db.employee_details.createIndex( { employee_fname: -1 } )