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.