Momenteel wordt er gezocht voor elke medewerker_details, wat betekent voor 330000 keer, maar als we eerst sorteren en beperken voor het opzoeken, zal dit slechts 10 keer zijn. Dit zal de zoektijd aanzienlijk verkorten.
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 }},
])
Nadat u dit geprobeerd heeft, kunt u, als u de responstijd zelfs maar wilt verkorten, een index definiëren in het sorteerveld.
db.employee_details.createIndex( { employee_fname: -1 } )