SQL-ში რა ტიპის ინდექსები არსებობს?
sobes.tech AI
პასუხი AI-სგან
-
B-ডেটা (B-ট্রি): সবচেয়ে সাধারণ ধরনের। বেশিরভাগ পড়ার অপারেশনের জন্য উপযুক্ত, যার মধ্যে রয়েছে
WHERE,LIKE,ORDER BY।CREATE INDEX idx_column ON table_name (column_name); -
Hash (Hash): সঠিক মিলের জন্য অপ্টিমাইজড (
=)। ডায়ালেক্টিক অনুরোধ বা সাজানোর জন্য সমর্থন করে না।-- সিনট্যাক্সের উদাহরণ, ডেটাবেস ব্যবস্থাপনা সিস্টেমের উপর নির্ভর করে পরিবর্তিত হতে পারে CREATE INDEX idx_column ON table_name USING HASH (column_name); -
Full-Text (সম্পূর্ণ পাঠ্য): বড় পাঠ্য ক্ষেত্রগুলিতে (
VARCHAR,TEXT) পাঠ্য অনুসন্ধানের জন্য।-- MySQL-এ সিনট্যাক্সের উদাহরণ CREATE FULLTEXT INDEX idx_text ON table_name (text_column); -- PostgreSQL-এ সিনট্যাক্সের উদাহরণ CREATE INDEX idx_text ON table_name USING GIN (to_tsvector('bengali', text_column)); -
অঞ্চলগত (Spatial): ভূগোলিক ডেটা সূচিবদ্ধ করার জন্য (
POINT,LINE,POLYGON)।GEOMETRYবাGEOGRAPHYধরনের ডেটা টাইপের সাথে ব্যবহৃত হয়।-- MySQL-এ সিনট্যাক্সের উদাহরণ CREATE SPATIAL INDEX idx_geo ON table_name (spatial_column); -- PostgreSQL-এ সিনট্যাক্সের উদাহরণ CREATE INDEX idx_geo ON table_name USING GIST (spatial_column); -
GIN (Generalized Inverted Index) এবং GiST (Generalized Search Tree) PostgreSQL-এ: নমনীয় সূচক ধরনের, বিভিন্ন কাজের জন্য উপযুক্ত, যার মধ্যে রয়েছে সম্পূর্ণ পাঠ্য অনুসন্ধান, অ্যারে এবং JSON সূচিবদ্ধকরণ।
-
ক্লাস্টারড (Clustered): টেবিলের শারীরিক ক্রম নির্ধারণ করে। একটি টেবিলে কেবল একটি ক্লাস্টারড সূচক থাকতে পারে। সাধারণত, প্রাথমিক কী ভিত্তিক।
-- প্রাথমিক কী ঘোষণা করার সময় প্রায়ই ক্লাস্টারড সূচক তৈরি হয় CREATE TABLE table_name ( id INT PRIMARY KEY CLUSTERED, -- SQL Server-এ ... ); -
নন-ক্লাস্টারড (Non-Clustered): আলাদা গঠন, যা "কলামের মান (অথবা কলামগুলি) + সারির নির্দেশক" জোড়া সংরক্ষণ করে। একটি টেবিলে একাধিক নন-ক্লাস্টারড সূচক থাকতে পারে।
তুলনা:
| সূচকের ধরন | প্রয়োগ | অপারেশনসমূহ |
|---|---|---|
| B-ডেটা | সাধারণ, বেশিরভাগ ডেটা ধরনের জন্য | =, <, >, <=, >=, BETWEEN, LIKE (শুরু) |
| Hash | সঠিক মিল (=) |
= |
| সম্পূর্ণ পাঠ্য | পাঠ্য অনুসন্ধান | MATCH AGAINST (MySQL), to_tsquery (PostgreSQL) |
| অঞ্চলগত | ভূগোলিক ডেটা | অঞ্চলগত ফাংশনসমূহ |
| ক্লাস্টারড | শারীরিক ক্রমে সারি নির্বাচন | নির্বাচন দ্রুত করে |
| নন-ক্লাস্টারড | সূচিবদ্ধ কলাম অনুসন্ধান দ্রুত করে | =, <, >, <= ইত্যাদি |