Sobes.tech
Junior — Middle

Ar įmanoma sukurti indeksą, kuris vienu metu atsižvelgtų į du laukus duomenų bazėje?

sobes.tech AI

Atsakymas iš AI

Taip, daugumoje duomenų bazių valdymo sistemų galima sukurti sudėtą indeksą, kuris vienu metu atsižvelgia į du (ar daugiau) laukus. Toks indeksas vadinamas sudėtiniu arba daugialypiu indeksu.

Pavyzdžiui, SQL Server galima sukurti indeksą dviem laukais taip:

CREATE INDEX IX_Pavyzdys ON LentelėsPavadinimas (Stulpelis1, Stulpelis2);

Šis indeksas bus naudingas užklausoms, kurios filtruoją arba rūšiuoja duomenis pagal abu laukus arba pagal pirmąjį sąrašo lauką. Dirbant su C# ir Entity Framework, tokį indeksą galima konfigūruoti naudojant Fluent API:

modelBuilder.Entity<Pavadinimas>()
    .HasIndex(e => new { e.Stulpelis1, e.Stulpelis2 });

Sudėtiniai indeksai pagerina užklausų, naudojančių abu laukus, našumą, tačiau svarbu atsiminti, kad laukų tvarka indekse yra svarbi.