Junior — Middle
Létrehozható-e olyan index, amely egyszerre két mezőt vesz figyelembe az adatbázisban?
sobes.tech MI
Válasz az MI-től
Igen, a legtöbb adatbázis-kezelő rendszerben lehetőség van összetett index létrehozására, amely egyszerre két (vagy több) mezőt vesz figyelembe. Ezt az indexet összetett vagy többoszlopos indexnek nevezik.
Például, SQL Serverben két mezőre így lehet indexet létrehozni:
CREATE INDEX IX_Pelda ON TablaNev (Oszlop1, Oszlop2);
Ez az index hasznos lesz olyan lekérdezésekhez, amelyek mindkét mező szerint szűrnek vagy rendeznek, vagy az első mező szerint. C#-ban az Entity Framework használatakor ezt az indexet Fluent API-val lehet konfigurálni:
modelBuilder.Entity<EntitasNev>()
.HasIndex(e => new { e.Oszlop1, e.Oszlop2 });
Az összetett indexek javítják azoknak a lekérdezéseknek a teljesítményét, amelyek mindkét mezőt használják, de fontos megjegyezni, hogy az indexben szereplő mezők sorrendje számít.