Primary এবং Secondary Index তৈরি করা

HSQLDB Indexing Techniques - এইচএসকিউএলডিবি (HSQLDB) - Database Tutorials

341

Index হলো ডেটাবেস টেবিলের একটি বিশেষ ডেটা স্ট্রাকচার, যা ডেটা দ্রুত অনুসন্ধান এবং পুনরুদ্ধারে সাহায্য করে। HSQLDB-তে Primary এবং Secondary Index ব্যবহার করে টেবিলের উপর দ্রুত অনুসন্ধান কার্যক্রম করা যায়।


Primary Index

Primary Index হলো ডেটাবেসের একটি প্রাথমিক ডেটা অ্যাক্সেস পয়েন্ট। এটি সাধারণত Primary Key দ্বারা সংজ্ঞায়িত হয় এবং একটি টেবিলের প্রতিটি রেকর্ডকে আলাদাভাবে চিহ্নিত করে।

Primary Index তৈরি করার নিয়ম

Primary Index টেবিল তৈরি করার সময় Primary Key দিয়ে স্বয়ংক্রিয়ভাবে তৈরি হয়।

CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100)
);
  • Primary Key: student_id এখানে Primary Index হিসেবে কাজ করে।
  • এটি স্বয়ংক্রিয়ভাবে একটি ইউনিক ইনডেক্স তৈরি করে, যা নিশ্চিত করে যে student_id এর মান ডুপ্লিকেট হবে না।

Primary Index এর সুবিধা

  • প্রতিটি রেকর্ডের জন্য একটি ইউনিক আইডেন্টিফায়ার নিশ্চিত করে।
  • দ্রুত ডেটা অনুসন্ধান এবং পুনরুদ্ধার সক্ষম করে।
  • ডেটার সমন্বয় (Consistency) বজায় রাখে।

Secondary Index

Secondary Index হলো টেবিলের অন্যান্য কলামের উপর ভিত্তি করে তৈরি একটি ইনডেক্স, যা অনুসন্ধান প্রক্রিয়াকে আরও দ্রুত করে। এটি একটি টেবিলের জন্য অতিরিক্ত ইনডেক্স তৈরি করতে ব্যবহার করা হয়।

Secondary Index তৈরি করার নিয়ম

Secondary Index তৈরি করার জন্য CREATE INDEX স্টেটমেন্ট ব্যবহার করা হয়।

CREATE INDEX idx_email ON students(email);
  • idx_email: ইনডেক্সের নাম।
  • email: টেবিলের কলাম যেখানে ইনডেক্স তৈরি হবে।

Secondary Index এর সুবিধা

  • যেকোনো কলামে দ্রুত অনুসন্ধান সক্ষম করে।
  • ডেটা সিলেকশনের সময় পারফরম্যান্স বৃদ্ধি করে।
  • টেবিলের একাধিক কলামের উপর ইনডেক্স তৈরি করা যায়।

Primary এবং Secondary Index এর উদাহরণ

উদাহরণ টেবিল তৈরি:

CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100) UNIQUE
);
  • Primary Index: student_id কলাম।
  • Unique Constraint: email কলামে Secondary Index তৈরি করে।

অতিরিক্ত Secondary Index তৈরি:

CREATE INDEX idx_name ON students(name);
  • এখানে name কলামের উপর একটি Secondary Index তৈরি করা হয়েছে, যা নাম অনুসন্ধান দ্রুত করবে।

Index ম্যানেজমেন্ট

ইনডেক্স দেখতে:

HSQLDB-তে ইনডেক্স তালিকা দেখতে INFORMATION_SCHEMA ব্যবহার করা হয়।

SELECT INDEX_NAME, TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.SYSTEM_INDEXINFO
WHERE TABLE_NAME = 'STUDENTS';

ইনডেক্স ড্রপ করা:

ইনডেক্স ডিলিট করার জন্য DROP INDEX স্টেটমেন্ট ব্যবহার করা হয়।

DROP INDEX idx_name;

Primary এবং Secondary Index এর তুলনা

বৈশিষ্ট্যPrimary IndexSecondary Index
তৈরি করার প্রক্রিয়াস্বয়ংক্রিয়ভাবে Primary Key দ্বারা তৈরিCREATE INDEX ব্যবহার করে তৈরি করতে হয়
অন্য ইনডেক্সে প্রভাবPrimary Index ব্যতীত কোনো ইনডেক্স থাকতে পারে নাএকাধিক Secondary Index থাকতে পারে
ডুপ্লিকেট ডেটাঅনুমোদিত নয়নির্দিষ্ট কনস্ট্রেইন্ট না থাকলে অনুমোদিত
উদ্দেশ্যটেবিলের প্রতিটি রেকর্ড ইউনিক চিহ্নিত করাদ্রুত অনুসন্ধানের জন্য অন্যান্য কলামগুলিতে ব্যবহার

পরামর্শ

  1. Index সীমিত পরিমাণে ব্যবহার করুন: অতিরিক্ত ইনডেক্স টেবিল আপডেট, ইন্সার্ট বা ডিলিট করার সময় পারফরম্যান্স কমাতে পারে।
  2. ডেটা অ্যানালাইসিস করুন: কোন কলামে সবচেয়ে বেশি অনুসন্ধান করা হয়, তা বিশ্লেষণ করে Secondary Index তৈরি করুন।
  3. Composite Index ব্যবহার করুন: একাধিক কলামে একটি ইনডেক্স প্রয়োজন হলে Composite Index ব্যবহার করুন।
CREATE INDEX idx_name_email ON students(name, email);
  1. অপ্রয়োজনীয় ইনডেক্স সরিয়ে ফেলুন: অপ্রচলিত বা কম ব্যবহৃত ইনডেক্স মুছে ফেলুন।

HSQLDB-তে Primary এবং Secondary Index ডেটাবেস অপারেশনের সময় দ্রুত এবং কার্যকর অনুসন্ধান নিশ্চিত করে। সঠিক পরিকল্পনা এবং ব্যবহার Index এর কার্যক্ষমতা বাড়াতে পারে।

Content added By
Promotion

Are you sure to start over?

Loading...