Sobes.tech
Junior — Middle

Milyen indexkészítési módszerek gyorsítják meg két mező szerinti keresést egy adatbázis táblában?

sobes.tech MI

Válasz az MI-től

Az adatbázis táblában két mező szerinti keresés gyorsításához általában összetett (kompozit) indexeket használnak. Ezek több oszlopon alapulnak, és lehetővé teszik hatékony lekérdezések végrehajtását ezekkel a mezőkkel kapcsolatos feltételekkel.

Fő módszerek:

  • Összetett index (Composite Index): az index egyszerre két mezőn jön létre. Például SQL-ben:

    CREATE INDEX idx_field1_field2 ON table_name(field1, field2);
    

    Ez az index gyorsítja mindkét mező szerinti szűréssel végzett lekérdezéseket, vagy az első mező szerinti lekérdezéseket.

  • Külön indexek minden mezőre: két külön index jön létre, de olyan lekérdezéseknél, ahol mindkét mezőre van feltétel, az optimalizáló csak egyet használhat vagy az eredményeket összefűzheti (merge), ami általában kevésbé hatékony.

  • Fedező indexek (Covering Indexes): néhány adatbázis-kezelő rendszerben további oszlopokat lehet hozzáadni az indexhez, hogy teljesen lefedje a lekérdezést anélkül, hogy a táblához kellene hozzáférni.

Példa összetett index létrehozására PostgreSQL-ben:

CREATE INDEX idx_user_email ON users (last_name, first_name);

Ez lehetővé teszi a felhasználók gyors keresését vezetéknevek és keresztnevek szerint egyidejűleg.