কম্পিউটার টিউটোরিয়াল

MongoDB-এ count() পদ্ধতির পারফরম্যান্স বেড়ানো


ইনডেক্স ব্যবহার করে count() কোয়েরি অপ্টিমাইজ করা

বড় কালেকশনে count() ধীর হলে, ফিল্টার কिये যাচ্ছে এমন ফিল্ডে ইনডেক্স তৈরি করলে পারফরম্যান্স উল্লেখযোগ্যভাবে বেড়ে যায়।

উদাহরণ

> db.countPerformanceDemo.insertOne({"StudentName":"John","StudentCountryName":"US"});
> db.countPerformanceDemo.insertOne({"StudentName":"Mike","StudentCountryName":"UK"});
> db.countPerformanceDemo.insertOne({"StudentName":"David","StudentCountryName":"AUS"});
> db.countPerformanceDemo.insertOne({"StudentName":"Carol","StudentCountryName":"US"});
> db.countPerformanceDemo.insertOne({"StudentName":"Bob","StudentCountryName":"UK"});
> db.countPerformanceDemo.insertOne({"StudentName":"David","StudentCountryName":"UK"});
> db.countPerformanceDemo.insertOne({"StudentName":"David","StudentCountryName":"US"});

StudentName ফিল্ডে ইনডেক্স তৈরি

> db.countPerformanceDemo.ensureIndex({ "StudentName": 1 });
{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }

ইনডেক্সযুক্ত কোয়েরি

> db.countPerformanceDemo.find({ "StudentName": "David" }).count();
3

ব্যাখ্যা: ইনডেক্স ছাড়া MongoDB পূর্ণ কালেকশন স্ক্যান করে, যা ধীর। ইনডেক্স থাকলে শুধু প্রাসঙ্গিক ডকুমেন্টগুলো গণনা করে, যা অনেক দ্রুত।

নোট: MongoDB 4.0+ এ countDocuments() বা estimatedDocumentCount() ব্যবহার করা সুপারিশ করা হয়।


  1. MongoDB-এ কার্সর ইটারেশন কাউন্ট করা

  2. MongoDB এগ্রিগেশন: একাধিক ফিল্ড দিয়ে কাউন্ট করা

  3. MongoDB-এ $push অপারেটর ব্যবহার করে অ্যারে আপডেট করা

  4. MySQL COUNT DISTINCT ধীর গতিতে চলছে? দ্রুত করার উপায়