SQLda qanday indeks turlari mavjud?
sobes.tech AI
AIdan javob
-
B- dara (B- dara): Eng ko‘p ishlatiladigan tur. Ko‘pchilik o‘qish operatsiyalari uchun mos, jumladan
WHERE,LIKE,ORDER BY.CREATE INDEX idx_column ON table_name (column_name); -
Hash (Hash): Aniq mosliklar (
=) uchun optimallashtirilgan. Oralash yoki tartiblashni qo‘llab-quvvatlamaydi.-- Sintaksis misoli, SGBDga qarab farq qilishi mumkin CREATE INDEX idx_column ON table_name USING HASH (column_name); -
To‘liq matn (Full-Text): Katta matn maydonlarida (
VARCHAR,TEXT) qidirish uchun ishlatiladi.-- MySQLda sintaksis misoli CREATE FULLTEXT INDEX idx_text ON table_name (text_column); -- PostgreSQLda sintaksis misoli CREATE INDEX idx_text ON table_name USING GIN (to_tsvector('russian', text_column)); -
Raqamli (Spatial): Geografik ma’lumotlarni indekslash uchun.
GEOMETRYyokiGEOGRAPHYkabi ma’lumot turlari bilan ishlatiladi.-- MySQLda sintaksis misoli CREATE SPATIAL INDEX idx_geo ON table_name (spatial_column); -- PostgreSQLda sintaksis misoli CREATE INDEX idx_geo ON table_name USING GIST (spatial_column); -
GIN (Umumiy Invertlangan Indeks) va GiST (Umumiy Qidiruv Daraxti) PostgreSQLda: Moslashuvchan indeks turlari, turli vazifalar uchun, jumladan to‘liq matn qidiruvi, massivlar va JSON indekslash uchun.
-
Klasternash (Clustered): Jadvaldagi satrlarning jismoniy tartibini belgilaydi. Bir jadval faqat bitta klaster indeksga ega bo‘lishi mumkin. Ko‘pincha asosiy kalitga asoslangan.
-- Asosiy kalitni e’lon qilishda, odatda klaster indeks yaratiladi CREATE TABLE table_name ( id INT PRIMARY KEY CLUSTERED, -- SQL Serverda ... ); -
Neklasternash (Non-Clustered): Alohida ma’lumotlar tuzilmasi bo‘lib, "sutun qiymati (yoki ustunlar) + satrga ko‘rsatkich" juftliklarini saqlaydi. Bir jadvalda ko‘p neklasternash indekslari bo‘lishi mumkin.
Taqqoslash:
| Indeks turi | Qo‘llanilishi | Operatsiyalar |
|---|---|---|
| B-dara | Umumiy, ko‘p ma’lumot turlari | =, <, >, <=, >=, BETWEEN, LIKE (boshlanish) |
| Hash | Aniq moslik (=) |
= |
| To‘liq matn | Matn qidiruvi | MATCH AGAINST (MySQL), to_tsquery (PostgreSQL) |
| Raqamli | Geografik ma’lumotlar | Geospatial funksiyalar |
| Klasternash | Satrlarning jismoniy tartibi | Oralash tanlovini tezlashtiradi |
| Neklasternash | Indekslangan ustunlarda qidirishni tezlashtiradi | =, <, >, <= va boshqalar |