DB2 এবং অন্যান্য রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেমে, Index ব্যবহৃত হয় ডেটাবেস টেবিলের ডেটা দ্রুত অনুসন্ধান এবং অ্যাক্সেস করার জন্য। একটি ইনডেক্স ডেটার একটি বিশেষ সাজানো কাঠামো তৈরি করে, যা ডেটাবেসে দ্রুত সন্নিবেশ, অনুসন্ধান এবং আপডেটের অপারেশন সম্পাদন করতে সাহায্য করে। ইনডেক্স দুটি প্রধান ধরণের হয়ে থাকে: Clustered Index এবং Non-clustered Index।
Clustered Index হল একটি ইনডেক্স যেটি টেবিলের ডেটাকে শারীরিকভাবে সাজিয়ে রাখে। এটি ডেটাবেস টেবিলের রেকর্ডগুলির ভেতরে একটি নির্দিষ্ট শ্রেণীবদ্ধ কাঠামো তৈরি করে, যা অনুসন্ধানকে দ্রুততর করে তোলে।
Clustered Index তৈরি করা:
CREATE CLUSTERED INDEX idx_employee_id ON employees(employee_id);
Non-clustered Index একটি পৃথক ইনডেক্স যা টেবিলের ডেটা থেকে আলাদা একটি কাঠামো তৈরি করে। এই ইনডেক্স ডেটাবেসে একটি পৃথক ডেটাবেস অবজেক্ট হিসেবে থাকে, যা মূল টেবিলের রেকর্ড থেকে পৃথক থাকে।
Non-clustered Index তৈরি করা:
CREATE NONCLUSTERED INDEX idx_employee_name ON employees(first_name, last_name);
বিশেষত্ব | Clustered Index | Non-clustered Index |
---|---|---|
ডেটা সাজানো | শারীরিকভাবে সাজানো থাকে | আলাদা কাঠামো, শারীরিক সাজানো থাকে না |
একটি টেবিলের জন্য | একটিই থাকতে পারে | একাধিক থাকতে পারে |
ডেটা অ্যাক্সেস | দ্রুত অ্যাক্সেস (বিশেষত রেঞ্জ কুয়েরি) | নির্দিষ্ট কলামের দ্রুত অনুসন্ধান |
স্টোরেজ | ডেটাবেস টেবিলের সাথে সম্পর্কিত | আলাদা ইনডেক্স কাঠামো হিসেবে থাকে |
কার্যকরী ক্ষেত্রে | রেঞ্জ কুয়েরি এবং ডেটা অ্যাক্সেস দ্রুত করা | নির্দিষ্ট কলামে দ্রুত অনুসন্ধান |
যখন ডেটাবেস ডিজাইন করা হয়, তখন কোন ইনডেক্স ব্যবহৃত হবে তা নির্ভর করে ব্যবহারকারীর ডেটার অ্যাক্সেস প্যাটার্ন এবং কুয়েরির ধরণ।
common.read_more