MongoDB-তে Indexing ডাটাবেস পারফরম্যান্স অপটিমাইজ করতে একটি অত্যন্ত গুরুত্বপূর্ণ কৌশল। যখন ডাটাবেসে বড় পরিমাণে ডেটা সংরক্ষিত থাকে, তখন সঠিকভাবে ইনডেক্স ব্যবহার করা না হলে query performance উল্লেখযোগ্যভাবে কমে যেতে পারে। Indexing MongoDB-তে query execution speed উন্নত করতে সহায়ক হয়, বিশেষ করে যখন ডাটাবেসের আকার বড় হয়ে যায়।
Indexing হল একটি ডাটাবেস কৌশল, যা ডেটার অনুসন্ধান গতি উন্নত করতে ব্যবহৃত হয়। MongoDB-তে, একটি Index হল এমন একটি ডেটা স্ট্রাকচার যা ডাটাবেসের ডকুমেন্টগুলির দ্রুত অনুসন্ধান করতে সহায়তা করে। MongoDB-তে ইনডেক্স সাধারণত ডকুমেন্টের একটি বা একাধিক ফিল্ডের উপর তৈরি করা হয়।
sort()
অপারেশনটি দ্রুত হয়।Single Field Index:
Example:
collection.createIndex(new Document("name", 1)); // Ascending index on "name" field
Compound Index:
Example:
collection.createIndex(new Document("name", 1).append("age", -1)); // Ascending on "name" and Descending on "age"
Text Index:
Example:
collection.createIndex(new Document("content", "text")); // Create text index on "content" field
Geospatial Index:
Example:
collection.createIndex(new Document("location", "2dsphere")); // Geospatial index on "location" field
Hashed Index:
Example:
collection.createIndex(new Document("user_id", "hashed")); // Create hashed index on "user_id" field
user_id
field, where the values are unique, would be more efficient than one on a status
field with only a few values (like "active" and "inactive").Use Covered Queries:
Example:
collection.createIndex(new Document("name", 1).append("age", 1)); // Compound index
// Query using the same fields
collection.find(new Document("name", "John").append("age", 30)); // Covered query
Use Sparse and Partial Indexes:
Example:
collection.createIndex(new Document("age", 1), new IndexOptions().partialFilterExpression(new Document("age", new Document("$gte", 18))));
MongoDB provides tools such as explain()
to analyze how queries are executed and whether they are using indexes effectively.
Example:
Document query = new Document("name", "Alice");
FindIterable<Document> result = collection.find(query);
System.out.println(result.explain()); // Check if an index is used
explain()
can show whether a query is performing a full collection scan (which is slow) or using an index (which is fast).explain()
and adjust your indexes accordingly.MongoDB-তে indexing একটি অত্যন্ত গুরুত্বপূর্ণ এবং পারফরম্যান্স অপটিমাইজেশন কৌশল। সঠিকভাবে ইনডেক্স ব্যবহার করলে আপনি আপনার ডাটাবেসের query performance উল্লেখযোগ্যভাবে বৃদ্ধি করতে পারবেন। তবে, ইনডেক্সিংয়ের ক্ষেত্রে balance বজায় রাখা জরুরি, কারণ অতিরিক্ত ইনডেক্স write performance হ্রাস করতে পারে। MongoDB-তে ইনডেক্সের বিভিন্ন ধরন এবং কৌশল রয়েছে, যেমন single field, compound, text, hashed, এবং geospatial indexes, যেগুলি ব্যবহার করে আপনি আপনার অ্যাপ্লিকেশন এবং ডেটার প্রয়োজন অনুসারে পারফরম্যান্স উন্নত করতে পারেন।
MongoDB তে ইনডেক্স (Index) হলো একটি ডেটাবেস অপ্টিমাইজেশন টুল, যা দ্রুত ডেটা অনুসন্ধান (search) করতে সহায়তা করে। এটি মূলত একটি ডেটা স্ট্রাকচার যা নির্দিষ্ট ফিল্ড বা কলামে সংরক্ষিত ডেটাকে দ্রুত অনুসন্ধান করতে ব্যবহৃত হয়। একটি ইনডেক্স কার্যকরভাবে ডেটাবেসকে এমনভাবে সাজায়, যাতে ডেটার উপর বিভিন্ন কার্যকলাপ, যেমন কুয়েরি, দ্রুত এবং আরও দক্ষভাবে সম্পন্ন করা যায়।
MongoDB তে ইনডেক্স ব্যবহার করা অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি ডেটা অনুসন্ধানের সময় কার্যকারিতা উন্নত করে এবং ডেটাবেসের পারফরম্যান্স বাড়ায়। ইনডেক্স ছাড়া, MongoDB প্রতিটি কুয়েরি অপারেশন সম্পাদন করতে পুরো ডেটাবেস স্ক্যান করতে পারে, যা খুবই সময়সাপেক্ষ এবং খরচ সাপেক্ষ। ইনডেক্স ব্যবহার করে এই স্ক্যানিং প্রক্রিয়া দ্রুততর করা সম্ভব।
MongoDB তে ইনডেক্স তৈরি করতে createIndex()
মেথড ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো:
import com.mongodb.client.MongoCollection;
import org.bson.Document;
MongoCollection<Document> collection = database.getCollection("myCollection");
// ইনডেক্স তৈরি করা
collection.createIndex(Indexes.ascending("name"));
এখানে "name"
ফিল্ডের উপর ইনডেক্স তৈরি করা হচ্ছে, যা নামের উপর দ্রুত অনুসন্ধান করতে সাহায্য করবে।
MongoDB তে বিভিন্ন ধরনের ইনডেক্স তৈরি করা যায়, যেমন:
collection.createIndex(Indexes.compoundIndex(Indexes.ascending("name"), Indexes.ascending("age")));
collection.createIndex(Indexes.unique("email"));
collection.createIndex(Indexes.text("description"));
যত বেশি ইনডেক্স থাকবে, তত বেশি মেমরি ব্যবহৃত হবে এবং ইনডেক্সের আপডেট/ইনসার্ট/ডিলিট অপারেশনগুলিতে বেশি সময় লাগতে পারে। তবে, যদি ডেটাবেসের কুয়েরি অপারেশনগুলি খুব বেশি হয়, তবে ইনডেক্স পারফরম্যান্স অনেক বৃদ্ধি পায়। সুতরাং, ইনডেক্স তৈরি করার ক্ষেত্রে একটি ভারসাম্য রাখা উচিত।
ইনডেক্স ব্যবহার করার মাধ্যমে MongoDB ডেটাবেসের পারফরম্যান্সে উল্লেখযোগ্য উন্নতি আনা যায়। এটি বিশেষ করে বড় ডেটাবেস এবং জটিল কুয়েরি অপারেশনগুলির জন্য অত্যন্ত উপকারী।
MongoDB তে Index তৈরি করা একটি গুরুত্বপূর্ণ কার্যক্রম, যা আপনার ডাটাবেসের কোয়েরি পারফরম্যান্স উন্নত করতে সহায়ক। Index এর মাধ্যমে MongoDB ডেটা দ্রুত খুঁজে পেতে সক্ষম হয়, যার ফলে কোয়েরি এর পারফরম্যান্স অনেক উন্নত হয়। বিশেষ করে যদি ডাটাবেসে বড় আকারের ডেটা থাকে, তবে সঠিকভাবে ইনডেক্স তৈরি করা খুবই প্রয়োজনীয়।
MongoDB তে Index তৈরি করার জন্য createIndex()
মেথড ব্যবহার করা হয়। এটি MongoCollection এর একটি মেথড, যার মাধ্যমে আপনি collection-এ ইনডেক্স তৈরি করতে পারবেন।
MongoDB তে বিভিন্ন ধরনের ইনডেক্স তৈরি করা যায়, যেমন:
এখানে createIndex()
মেথডের ব্যবহার দেখানো হবে।
প্রথমে আপনাকে MongoDB Java ড্রাইভার সেটআপ করতে হবে। Maven অথবা Gradle ব্যবহার করে ড্রাইভার যোগ করতে পারেন।
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>4.3.3</version> <!-- Latest version -->
</dependency>
MongoDB তে Index তৈরি করতে createIndex()
মেথড ব্যবহার করা হয়। নিচে Single Field Index এবং Compound Index তৈরির উদাহরণ দেওয়া হল।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
import com.mongodb.client.model.IndexOptions;
public class CreateIndexExample {
public static void main(String[] args) {
// MongoDB ক্লায়েন্ট তৈরি
MongoClient mongoClient = new MongoClient("localhost", 27017);
// ডাটাবেস নির্বাচন
MongoDatabase database = mongoClient.getDatabase("testdb");
// collection নির্বাচন
MongoCollection<Document> collection = database.getCollection("users");
// Single field index তৈরি (যেমন: "name" ফিল্ডের ওপর ইনডেক্স)
collection.createIndex(new Document("name", 1)); // 1 এর মান নির্দেশ করে অ্যাসেন্ডিং ইনডেক্স
System.out.println("Single field index created on 'name'");
// MongoClient বন্ধ করা
mongoClient.close();
}
}
new Document("name", 1)
এটি "name" ফিল্ডের ওপর একটি অ্যাসেন্ডিং ইনডেক্স তৈরি করে। 1 মানে অ্যাসেন্ডিং এবং -1 মানে ডিসেন্ডিং।createIndex()
মেথডে একটি Document অবজেক্ট পাস করা হয়, যা ফিল্ডের নাম এবং ইনডেক্সের ধরনের (অ্যাসেন্ডিং বা ডিসেন্ডিং) নির্দেশ করে।Compound Index হল একটি ইনডেক্স যা একাধিক ফিল্ডের ওপর তৈরি হয়। উদাহরণস্বরূপ, যদি আপনি "name" এবং "age" ফিল্ডের ওপর ইনডেক্স তৈরি করতে চান, তাহলে compound index ব্যবহার করা হয়।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
public class CompoundIndexExample {
public static void main(String[] args) {
// MongoDB ক্লায়েন্ট তৈরি
MongoClient mongoClient = new MongoClient("localhost", 27017);
// ডাটাবেস নির্বাচন
MongoDatabase database = mongoClient.getDatabase("testdb");
// collection নির্বাচন
MongoCollection<Document> collection = database.getCollection("users");
// Compound index তৈরি (যেমন: "name" এবং "age" ফিল্ডের ওপর ইনডেক্স)
collection.createIndex(new Document("name", 1).append("age", -1));
System.out.println("Compound index created on 'name' and 'age'");
// MongoClient বন্ধ করা
mongoClient.close();
}
}
createIndex()
মেথডে একটি compound index তৈরি করা হয়েছে, যা "name" ফিল্ডের জন্য অ্যাসেন্ডিং (1) এবং "age" ফিল্ডের জন্য ডিসেন্ডিং (-1) ইনডেক্স তৈরি করে।append()
মেথড দিয়ে একাধিক ফিল্ড যুক্ত করা হয়েছে।MongoDB তে Unique Index তৈরি করা হয় যাতে প্রতিটি ইনডেক্স ভ্যালু অবশ্যই ইউনিক হয়। এটি একই মানের ডেটা ইনসার্ট হতে বাধা দেয়।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
import com.mongodb.client.model.IndexOptions;
public class UniqueIndexExample {
public static void main(String[] args) {
// MongoDB ক্লায়েন্ট তৈরি
MongoClient mongoClient = new MongoClient("localhost", 27017);
// ডাটাবেস নির্বাচন
MongoDatabase database = mongoClient.getDatabase("testdb");
// collection নির্বাচন
MongoCollection<Document> collection = database.getCollection("users");
// Unique index তৈরি (যেমন: "email" ফিল্ডের জন্য ইউনিক ইনডেক্স)
IndexOptions indexOptions = new IndexOptions().unique(true);
collection.createIndex(new Document("email", 1), indexOptions);
System.out.println("Unique index created on 'email'");
// MongoClient বন্ধ করা
mongoClient.close();
}
}
IndexOptions().unique(true)
ব্যবহার করে "email" ফিল্ডের জন্য একটি ইউনিক ইনডেক্স তৈরি করা হয়েছে।MongoDB তে Text Index ব্যবহার করা হয় যখন আপনি text search করতে চান।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
public class TextIndexExample {
public static void main(String[] args) {
// MongoDB ক্লায়েন্ট তৈরি
MongoClient mongoClient = new MongoClient("localhost", 27017);
// ডাটাবেস নির্বাচন
MongoDatabase database = mongoClient.getDatabase("testdb");
// collection নির্বাচন
MongoCollection<Document> collection = database.getCollection("articles");
// Text index তৈরি (যেমন: "content" ফিল্ডের জন্য ইনডেক্স)
collection.createIndex(new Document("content", "text"));
System.out.println("Text index created on 'content'");
// MongoClient বন্ধ করা
mongoClient.close();
}
}
createIndex()
মেথডে "text"
প্রদান করে আমরা text index তৈরি করেছি। এটি MongoDB তে টেক্সট অনুসন্ধান পরিচালনা করতে সাহায্য করে।MongoDB তে Index তৈরি করা পারফরম্যান্স বাড়ানোর জন্য একটি গুরুত্বপূর্ণ প্রক্রিয়া। আপনি single field index, compound index, unique index, এবং text index তৈরি করতে পারেন, যা আপনার MongoDB ডাটাবেসের query performance অনেক উন্নত করে। Java MongoDB ড্রাইভার ব্যবহার করে আপনি MongoDB collection-এ সহজেই ইনডেক্স তৈরি এবং পরিচালনা করতে পারবেন।
MongoDB একটি ডকুমেন্ট-ভিত্তিক NoSQL ডাটাবেস যা ডেটার জন্য ইন্ডেক্সিং সমর্থন করে। ইন্ডেক্সিং ডেটার উপর দ্রুত অনুসন্ধান এবং কুয়েরি এক্সিকিউশন পারফরম্যান্স উন্নত করার জন্য অত্যন্ত গুরুত্বপূর্ণ। MongoDB তে বিভিন্ন ধরনের ইন্ডেক্স তৈরি করা যায়, এবং এর মধ্যে Compound Index এবং Text Index অন্যতম।
Compound Index হল এমন একটি ইন্ডেক্স যা একাধিক ফিল্ডের উপর ভিত্তি করে তৈরি করা হয়। MongoDB তে compound index তৈরি করলে এটি একাধিক ফিল্ডের ওপর অনুসন্ধান দ্রুত করতে সাহায্য করে। এই ইন্ডেক্সটি সেই ফিল্ডগুলির সমন্বয়ে তৈরি করা হয় যা একসাথে কুয়েরিতে ব্যবহৃত হয়।
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.model.Indexes;
public class CompoundIndexExample {
public static void main(String[] args) {
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("testdb");
MongoCollection<Document> collection = database.getCollection("users");
// Compound Index: Index on both "name" and "age"
collection.createIndex(Indexes.compoundIndex(Indexes.ascending("name"), Indexes.ascending("age")));
// Inserting some sample data
collection.insertOne(new Document("name", "John").append("age", 30));
collection.insertOne(new Document("name", "Jane").append("age", 25));
collection.insertOne(new Document("name", "Alice").append("age", 30));
// Querying with the compound index
Document query = new Document("name", "John").append("age", 30);
Document result = collection.find(query).first();
System.out.println(result.toJson());
mongoClient.close();
}
}
ব্যাখ্যা:
createIndex(Indexes.compoundIndex())
মেথডের মাধ্যমে ইন্ডেক্স তৈরি করা হয়েছে।Text Index MongoDB-তে ব্যবহৃত একটি বিশেষ ধরনের ইন্ডেক্স যা ডকুমেন্টের মধ্যে টেক্সট ডেটার ওপর অনুসন্ধান করতে সাহায্য করে। এটি মূলত string ধরনের ডেটা (যেমন টাইটেল, কন্টেন্ট) এবং পুরো ডকুমেন্টে full-text search কার্যক্রম চালাতে ব্যবহৃত হয়। Text index MongoDB তে টেক্সট ফিল্ডের জন্য text search অপারেশন চালানোর জন্য অত্যন্ত গুরুত্বপূর্ণ।
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.client.model.Indexes;
public class TextIndexExample {
public static void main(String[] args) {
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("testdb");
MongoCollection<Document> collection = database.getCollection("articles");
// Creating a text index on the "title" and "content" fields
collection.createIndex(Indexes.text("title"));
collection.createIndex(Indexes.text("content"));
// Inserting some sample data
collection.insertOne(new Document("title", "MongoDB Guide").append("content", "MongoDB is a NoSQL database"));
collection.insertOne(new Document("title", "Java Programming").append("content", "Java is a programming language"));
collection.insertOne(new Document("title", "Learn MongoDB").append("content", "MongoDB is widely used in web development"));
// Querying using text search
Document query = new Document("$text", new Document("$search", "MongoDB"));
Document result = collection.find(query).first();
System.out.println(result.toJson());
mongoClient.close();
}
}
ব্যাখ্যা:
createIndex(Indexes.text("field_name"))
মেথড ব্যবহার করে text index তৈরি করা হয়, যাতে "title" এবং "content" ফিল্ডে টেক্সট অনুসন্ধান করা যায়।$text
এবং $search
অপারেটরের মাধ্যমে টেক্সট অনুসন্ধান করা হয়, যেখানে "MongoDB" শব্দটি অনুসন্ধান করা হচ্ছে।Output:
{"_id": ObjectId("..."), "title": "MongoDB Guide", "content": "MongoDB is a NoSQL database"}
Feature | Compound Index | Text Index |
---|---|---|
Purpose | একাধিক ফিল্ডের ওপর ইন্ডেক্স তৈরি করতে ব্যবহৃত | টেক্সট ফিল্ডে full-text search করতে ব্যবহৃত |
Fields Supported | একাধিক ফিল্ডের ওপর (যেমন: name, age) | শুধুমাত্র string টাইপ ফিল্ড (যেমন: title, content) |
Query Type | সাধারণ কুয়েরি যেমন find , update | টেক্সট অনুসন্ধান কুয়েরি যেমন $text , $search |
Use Case | যেকোনো ফিল্ডের ওপর দ্রুত অনুসন্ধান | টেক্সট ফিল্ডে শব্দ বা বাক্য অনুসন্ধান |
Index Creation | Indexes.compoundIndex() | Indexes.text() |
MongoDB তে index তৈরি করা এবং সেগুলির পারফরম্যান্স পর্যবেক্ষণ করা ডাটাবেসের কার্যকারিতা এবং কোয়েরি অপটিমাইজেশনের জন্য অত্যন্ত গুরুত্বপূর্ণ। MongoDB তে সঠিকভাবে index ব্যবহারের মাধ্যমে আপনি আপনার ডাটাবেসের পারফরম্যান্স অনেক উন্নত করতে পারেন, বিশেষ করে যখন আপনি বড় ডাটাবেসে জটিল কুয়েরি চালাচ্ছেন।
MongoDB তে index হল এমন একটি ডেটা স্ট্রাকচার যা ডেটাবেসে দ্রুত অনুসন্ধান করতে সহায়তা করে। এটি collection তে ডেটা দ্রুত অ্যাক্সেস করার জন্য ব্যবহৃত হয়। Indexes মূলত ডাটাবেসের queries দ্রুত করার জন্য গুরুত্বপূর্ণ এবং অনেক ক্ষেত্রে write performance এর ওপরে প্রভাব ফেলতে পারে।
MongoDB তে index তৈরি করতে createIndex()
মেথড ব্যবহার করা হয়। সাধারণত fields বা queries এর উপরে index তৈরি করা হয় যাতে ডাটাবেস দ্রুত search, sort, এবং filter করতে পারে।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import com.mongodb.client.model.IndexOptions;
public class MongoDBCreateIndexExample {
public static void main(String[] args) {
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("testdb");
MongoCollection<Document> collection = database.getCollection("users");
// Create index on 'name' field
collection.createIndex(new Document("name", 1)); // 1 for ascending order
System.out.println("Index created successfully!");
mongoClient.close();
}
}
MongoDB তে একাধিক ফিল্ডের উপর একসাথে index তৈরি করা যায়, যাকে compound index বলা হয়। এটি যখন একাধিক ফিল্ডের মানের উপর দ্রুত অনুসন্ধান প্রয়োজন হয় তখন ব্যবহার করা হয়।
collection.createIndex(new Document("name", 1).append("age", -1)); // Compound Index
Explanation:
1
হলো ascending order এবং -1
হলো descending order।MongoDB তে index পারফরম্যান্স পর্যবেক্ষণ করা অত্যন্ত গুরুত্বপূর্ণ। MongoDB বিভিন্ন performance metrics সরবরাহ করে যা আপনাকে বুঝতে সাহায্য করে কোন index কার্যকরী এবং কিভাবে queries পরিচালনা হচ্ছে।
MongoDB তে explain()
মেথড ব্যবহার করে আপনি query এর কার্যকরী index দেখতে পারেন। এটি MongoDB কে বলে দেয় কীভাবে query পরিচালনা হচ্ছে এবং কোন index ব্যবহার হচ্ছে।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
public class MongoDBExplainExample {
public static void main(String[] args) {
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("testdb");
MongoCollection<Document> collection = database.getCollection("users");
// Query with explain
Document query = new Document("name", "Alice");
Document result = collection.find(query).explain();
System.out.println(result.toJson());
mongoClient.close();
}
}
Explanation:
explain()
মেথডটি MongoDB কে বলে দেয় কিভাবে query প্রক্রিয়া চলবে এবং এটি কোন index ব্যবহার করছে।IXSCAN
(Index Scan) এবং COLLSCAN
(Collection Scan)।Index-এ পারফরম্যান্স উন্নত করতে এবং MongoDB ডাটাবেসের কার্যকারিতা বাড়াতে কয়েকটি best practices অনুসরণ করা উচিত।
name
এবং age
ফিল্ডে বারবার কুয়েরি করছেন, তাহলে তাদের উপর index তৈরি করা উচিত।Use TTL Indexes
for Expiring Data:
collection.createIndex(new Document("createdAt", 1), new IndexOptions().expireAfter(3600L, TimeUnit.SECONDS));
এখানে, createdAt
ফিল্ডের উপর TTL index তৈরি করা হয়েছে, যেখানে ডেটা 3600 সেকেন্ড (1 ঘণ্টা) পরে মুছে যাবে।
Monitor Indexes Regularly:
db.collection.stats()
কমান্ড ব্যবহার করে MongoDB এর collection এর স্ট্যাটিস্টিক্স দেখতে পারেন এবং কীভাবে indexes কার্যকরী হচ্ছে তা বুঝতে পারেন।db.users.stats()
এটি দেখাবে:
MongoDB তে indexes ব্যবহার করার মাধ্যমে কুয়েরির পারফরম্যান্স উন্নত করা যায়, তবে indexes খুবই memory-intensive হতে পারে। MongoDB তে query পারফরম্যান্সের উন্নতি করার জন্য আপনাকে index selection এবং query optimization মেনে চলতে হবে।
hint()
মেথড ব্যবহার করে আপনি MongoDB কে নির্দিষ্ট index ব্যবহার করার জন্য নির্দেশ দিতে পারেন।Document query = new Document("age", 30);
collection.find(query).hint(new Document("age", 1)).forEach(document -> System.out.println(document));
এখানে hint()
ব্যবহার করে MongoDB কে age
ফিল্ডের উপর index ব্যবহার করতে নির্দেশ দেয়া হয়েছে।
MongoDB তে index ব্যবহারের মাধ্যমে query পারফরম্যান্স অনেক উন্নত করা সম্ভব, তবে এটি overhead তৈরি করতে পারে যখন ডেটা ইনসার্ট বা আপডেট করা হয়। MongoDB তে index performance monitoring এবং best practices অনুসরণ করা আপনার ডাটাবেসের পারফরম্যান্স উন্নত করতে সাহায্য করবে। এর জন্য index selection, compound indexes, TTL indexes, এবং regular index monitoring গুরুত্বপূর্ণ পদক্ষেপ হিসেবে কাজ করে।
Read more