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?
403
3
Hva er en index i SQL? Kan du forklare eller referere for å forstå det tydelig?
Hvor skal jeg bruke en indeks?
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 enPRIMARY KEY
som i noen lagringsmotorer definerer hvor i databasefilen verdien er lagret.I MySQL kan du bruke
EXPLAIN
foranSELECT
-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.htmlEn 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.
Grunnleggende om SQL Server-indekser]1.
SQL Server-indekser: Grunnleggende
SQL Server-indekser
Grunnleggende om indekser
Indeks (wiki) [Indeks (engelsk)
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.