Senior
Hansı tərkib indeksi edərdin?
sobes.tech Süni İntellekt
AI-dan cavab
WHERE A=a AND B=b və WHERE B=b AND A=a şərtləri üçün tərkib indeks yaratarkən, indeksdə sütunların sırası və filtrasiya tezliyi vacibdir.
Əgər sorğular həmişə hər iki şərti birlikdə istifadə edirsə, (A, B) və ya (B, A) indeksləri işləyəcək, lakin effektivlik hansı sütunun daha seçici olduğuna (yəni, daha çox məlumatı filtrlədiyinə) bağlıdır.
- Əgər
Adaha seçicidirsə,(A, B)indeksini seçin. - Əgər
Bdaha seçicidirsə,(B, A)indeksini seçin.
Həmçinin, (A, B) indeksindən A və ya A və B üçün filtrə əsaslanan sorğular üçün effektiv istifadə oluna bilər, amma yalnız B üçün deyil.
Əgər sorğular fərqli ardıcıllıqda və bəzən yalnız bir sahə ilə əlaqədardırsa, iki ayrıca indeks yaratmaq və ya qaplayan indeks (covering index) istifadə etmək nəzərdən keçirilə bilər.
SQL-də indeks yaratma nümunəsi:
CREATE INDEX idx_a_b ON table_name (A, B);