वर्तमान में प्रत्येक कर्मचारी_विवरण के लिए लुकअप किया जाएगा जिसका अर्थ है 330000 बार, लेकिन यदि हम लुकअप से पहले पहले क्रमबद्ध और सीमित करते हैं, तो यह केवल 10 गुना होगा। यह क्वेरी समय को बहुत कम कर देगा।
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 }},
])
इसे आज़माने के बाद, यदि आप प्रतिक्रिया समय को कम करना चाहते हैं तो आप एक index परिभाषित कर सकते हैं। सॉर्ट फ़ील्ड पर।
db.employee_details.createIndex( { employee_fname: -1 } )