Sobes.tech
Junior — Middle

Kas on võimalik luua indeks, mis arvestab korraga kahte välja andmebaasis?

sobes.tech AI

Vastus AI-lt

Jah, enamikus andmebaasi haldamise süsteemides on võimalik luua koosnevat indeksit, mis arvestab korraga kahte (või rohkem) välja. Sellist indeksit nimetatakse koosnevaks või mitmekolonniliseks indeksiks.

Näiteks SQL Serveris saab luua indeks kahe välja jaoks järgmiselt:

CREATE INDEX IX_Näide ON TabeliNimi (Väli1, Väli2);

See indeks on kasulik päringutele, mis filtreerivad või sorteerivad andmeid mõlema välja järgi või esimese välja järgi nimekirjas. C#-is Entity Frameworkiga töötades saab sellise indeksi konfigureerida Fluent API abil:

modelBuilder.Entity<NimeEntiteet>()
    .HasIndex(e => new { e.Väli1, e.Väli2 });

Koosseisusindeksid parandavad päringute jõudlust, mis kasutavad mõlemat välja, kuid oluline on meeles pidada, et välja järjekord indeksis on oluline.