Saat ini pencarian akan dilakukan untuk setiap employee_details yang berarti 330000 kali, tetapi jika kita mengurutkan dan membatasi terlebih dahulu sebelum pencarian, itu hanya 10 kali. Ini akan sangat mengurangi waktu kueri.
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 }},
])
Setelah mencoba ini, jika Anda bahkan ingin mengurangi waktu respons, Anda dapat menentukan indeks di bidang pengurutan.
db.employee_details.createIndex( { employee_fname: -1 } )