SQL indeksləri (index) verilənlər bazasında sorğuların performansını artırmaq üçün istifadə olunan strukturlardır. İndekslər verilənlərin daha sürətli tapılması üçün yaradılır və verilənlər bazasındakı cədvəlin bir və ya bir neçə sütununa əsaslanaraq yaradılır. İndeks məlumatların ardıcıl olaraq saxlanılmasını təmin etmir, lakin məlumatlara daha sürətli girişi təmin edir.
İndeksin əsas üstünlüyü, cədvəldə axtarış, seçim (SELECT), çeşidləmə (ORDER BY) və qruplaşdırma (GROUP BY) əməliyyatlarının sürətini artırmasıdır. Bu, xüsusilə çoxlu verilənlər olan böyük cədvəllərdə vacibdir. Ancaq unutmaq olmaz ki, indekslər həm də bəzi mənfi tərəflərə malikdir: onları yaratmaq, saxlanmaq və yeniləmək əlavə yaddaş və resurslar tələb edir.
İndeksin yaradılması qaydası:
SQL-də indeks yaratmaq üçün CREATE INDEX
ifadəsi istifadə olunur. nümunəsi aşağıdakı kimidir:
CREATE INDEX index_adı ON cədvəl_adı (sütun_adı);
Nümunə üçün, “müştərilər” adlı cədvəldə “ad” sütununa indeks yaratmaq üçün:
CREATE INDEX idx_ad ON musderiler (ad);
İndeksin istifadə qaydası:
İndeks yaratdıqdan sonra SQL engine sorğuların icrası zamanı həmin indeksdən istifadə edərək daha sürətli nəticələr əldə edə bilər. Məsələn, aşağıdakı sorğu:
SELECT * FROM müştərilər WHERE ad = 'Orxan';
Müxtəlif indekslər mövcuddur:
- UNIQUE Index: Dublikat dəyərlərə icazə vermir.
- PRIMARY KEY Index: Cədvəl üçün unikal identifikator yaratmaq üçün istifadə olunur və tək dəyər olur.
- FULLTEXT Index: Text məlumatlarının axtarışı üçün istifadə olunur.
- CLUSTERED Index: Məlumatların cədvəldə fiziki ardıcıllığını dəyişir.
İndeksi silmək üçün:
İndeksi silmək üçün DROP INDEX
komandasından istifadə olunur:
DROP INDEX idx_ad;
Bu komanda ilı indeksdən istifadə olunmayacaq və əlavə yaddaş boşaldılacaq.