Compound Indexes তৈরি

Database Tutorials - ডকুমেন্ট ডিবি (DocumentDB) ইন্ডেক্সিং এবং পারফরম্যান্স অপ্টিমাইজেশন |
208
208

DocumentDB এবং MongoDB উভয়ই Compound Indexes তৈরি করার অনুমতি দেয়, যা একাধিক ফিল্ডে ইনডেক্স তৈরি করে ডেটাবেসের অনুসন্ধান কার্যক্ষমতা উন্নত করে। Compound Index বিভিন্ন ফিল্ডের উপর ভিত্তি করে একসাথে অনুসন্ধান অপারেশন পরিচালনা করার জন্য ব্যবহৃত হয়, এবং এটি প্রায়শই multiple conditions-এ ভিত্তি করে কুয়েরি অপটিমাইজ করতে সাহায্য করে।


Compound Index এর সুবিধা

  • কুইক অনুসন্ধান: যখন একাধিক ফিল্ডে ডেটা অনুসন্ধান করা হয়, তখন Compound Index ডেটার পারফরম্যান্স উন্নত করে।
  • কমপ্লেক্স কুয়েরি অপটিমাইজেশন: Compound Index একাধিক কন্ডিশন বা ফিল্টার ব্যবহার করা কুয়েরি দ্রুত প্রক্রিয়া করতে সাহায্য করে।
  • ফিল্ডের মধ্যে সম্পর্ক: Compound Index একাধিক ফিল্ডের মধ্যে সম্পর্কের ভিত্তিতে অনুসন্ধান অপারেশনকে দ্রুত করতে পারে।

Compound Index তৈরি করা

DocumentDB (MongoDB-এর মতো) Compound Index তৈরি করার জন্য createIndex() ফাংশন ব্যবহার করা হয়। এখানে একটি উদাহরণ দেওয়া হলো, যেখানে একটি Compound Index তৈরি করা হয়েছে দুটি ফিল্ডের উপর, যেমন: name এবং age

উদাহরণ:

ধরা যাক, আপনার একটি users নামে একটি Collection আছে, যেখানে name এবং age ফিল্ডগুলি রয়েছে, এবং আপনি এই দুটি ফিল্ডে কম্বাইন্ড ইনডেক্স তৈরি করতে চান। তাহলে নিচের মতো কোড ব্যবহার করা হবে:

db.users.createIndex({ "name": 1, "age": 1 })

এখানে:

  • name: 1 এবং age: 1 নির্দেশ করে যে ইনডেক্সটি ascending order (আসেন্ডিং অর্ডার) অনুসারে তৈরি হবে। আপনি চাইলে descending order (-1) ব্যবহারও করতে পারেন।
  • createIndex() ফাংশনটি একটি Compound Index তৈরি করবে যা name এবং age উভয় ফিল্ডের জন্য একসাথে অনুসন্ধান করতে সহায়ক হবে।

উদাহরণ ২: Descending Order Compound Index

যদি আপনি age ফিল্ডে descending order চান, তবে আপনাকে ইনডেক্স তৈরি করতে হবে:

db.users.createIndex({ "name": 1, "age": -1 })

এখানে age: -1 ব্যবহার করা হয়েছে, যা descending order নির্দেশ করে, অর্থাৎ age এর মান বড় থেকে ছোটে অনুসন্ধান করা হবে।


Compound Index এর কার্যকারিতা

ধরা যাক, আপনি একটি কুয়েরি চালাচ্ছেন যেখানে name এবং age ফিল্ডের উপর ভিত্তি করে ফিল্টার করা হচ্ছে:

db.users.find({ "name": "John", "age": 30 })

এখন, যেহেতু আপনি একটি Compound Index তৈরি করেছেন name এবং age এর উপর, DocumentDB বা MongoDB এই কুয়েরি দ্রুতভাবে অনুসন্ধান করবে কারণ এটি ইনডেক্সের মাধ্যমে দ্রুত ফিল্টারিং করতে পারবে।


Compound Index এর অন্যান্য কনফিগারেশন

Unique Compound Index: যদি আপনি চান যে name এবং age এর কোনও কম্বিনেশন একাধিক বার প্রদর্শিত না হয়, তাহলে আপনি unique compound index তৈরি করতে পারেন:

db.users.createIndex({ "name": 1, "age": 1 }, { unique: true })

এটি unique constraint যোগ করবে, যার মানে হল যে একই name এবং age সহ দুটি ডকুমেন্ট থাকতে পারবে না।

Partial Index: যদি আপনি শুধুমাত্র কিছু ডকুমেন্টের জন্য ইনডেক্স তৈরি করতে চান, তবে আপনি partial index ব্যবহার করতে পারেন, যেমন:

db.users.createIndex({ "name": 1, "age": 1 }, { partialFilterExpression: { "status": "active" } })

এটি শুধু সেই ডকুমেন্টগুলির জন্য ইনডেক্স তৈরি করবে, যেখানে status ফিল্ডের মান "active"


সারাংশ

Compound Indexes DocumentDB (এবং MongoDB)-তে একাধিক ফিল্ডে ইনডেক্স তৈরি করতে ব্যবহৃত হয়, যা ডেটাবেসের কুয়েরি অপারেশনের পারফরম্যান্স উন্নত করতে সাহায্য করে। আপনি ascending বা descending অর্ডারে ইনডেক্স তৈরি করতে পারেন এবং unique বা partial ইনডেক্সের মতো বিভিন্ন কনফিগারেশন ব্যবহার করে আপনার কুয়েরি অপ্টিমাইজ করতে পারেন। Compound Index ব্যবহার করলে ডেটাবেসের পারফরম্যান্স অনেক দ্রুত হয়, বিশেষত যখন একাধিক কন্ডিশন নিয়ে অনুসন্ধান করা হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion