Hva er en indeks i SQL?

Hva er en index i SQL? Kan du forklare eller referere for å forstå det tydelig?

Hvor skal jeg bruke en indeks?

Løsning

En indeks brukes for å gjøre det raskere å søke i databasen. MySQL har god dokumentasjon om emnet (som også er relevant for andre SQL-servere): http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

En indeks kan brukes til å effektivt finne alle rader som samsvarer med en kolonne i spørringen din, og deretter gå gjennom bare den delmengden av tabellen for å finne eksakte treff. Hvis du ikke har indekser på noen kolonne i WHERE-klausulen, må SQL-serveren gå gjennom hele tabellen og sjekke hver rad for å se om den samsvarer, noe som kan være en treg operasjon på store tabeller.

Indeksen kan også være en UNIQUE-indeks, noe som betyr at du ikke kan ha dupliserte verdier i den kolonnen, eller en PRIMARY KEY som i noen lagringsmotorer definerer hvor i databasefilen verdien er lagret.

I MySQL kan du bruke EXPLAIN foran SELECT-setningen for å se om spørringen din vil bruke noen indeks. Dette er en god start for feilsøking av ytelsesproblemer. Les mer her: http://dev.mysql.com/doc/refman/5.0/en/explain.html

Kommentarer (0)

En indeks brukes for å øke ytelsen til spørringer. Den gjør dette ved å redusere antallet databasesider som må besøkes/skannes.

I SQL Server bestemmer en clustered indeks den fysiske rekkefølgen av data i en tabell. Det kan bare være en klynget indeks per tabell (den klyngede indeksen ER tabellen). Alle andre indekser i en tabell kalles ikke-klyngede.

Kommentarer (0)

En indeks brukes av flere forskjellige grunner. Hovedgrunnen er å øke hastigheten på spørringen slik at du kan få rader eller sortere rader raskere. En annen grunn er å definere en primærnøkkel eller unik indeks som garanterer at ingen andre kolonner har de samme verdiene.

Kommentarer (0)