En SQL -indeks er ikke så forskjellig fra en normal bokindeks med en kuratert liste over informasjon og hvor du kan finne dem.
I denne opplæringen vil vi diskutere når vi skal lage en SQL -indeks fordi selv om indekser kan bidra til å optimalisere ytelsen, kan de også forårsake langsom ytelse og andre negative effekter. Vi skal også diskutere hvordan du oppretter en indeks ved hjelp av en ekte database.
La oss komme i gang:
Når skal du opprette en indeks i MySQL?
Dessverre har jeg ikke noe direkte svar på når du skal opprette en indeks. Noen scenarier og faktorer kan imidlertid påvirke opprettelsen av en indeks. Det er godt å merke seg at du kanskje må gjøre noen avveininger når du oppretter en indeks
Ovennevnte er noen av de viktigste konseptene som kan spille inn når du bestemmer når du skal opprette en databaseindeks.
Hvis du vil lære mer om hvordan MySQL bruker indekser, kan du vurdere å lese ressursen som er gitt nedenfor:
https: // dev.mysql.com/doc/refman/8.0/no/mysql-indekser.html
Grunnleggende MySQL indekserer bruk
Når du har opprettet en tabell med en primærnøkkel, oppretter MySQL automatisk en spesiell indeks kalt primær, lagret med dataene. Dette er vanligvis kjent som en gruppert indeks.
For å opprette en indeks i MySQL, kan vi bruke syntaks som er vist nedenfor:
Opprett indeksindeks_navn på TBL_NAME (COLS);Vi starter med å ringe Create Index -leddet, etterfulgt av navnet på indeksen vi ønsker å opprette. Vi spesifiserer deretter tabellen der indeksen ligger og til slutt kolonnene.
Du kan også opprette en indeks når du oppretter en tabell, som vist i syntaksen nedenfor:
Opprett tabell TBL_name (Col1, Col2, Col3, Index (Col1, Col2));MERK: Standard MySQL -indekstype er en Btree med mindre eksplisitt spesifiseres.
Eksempel Bruk sak
Ved å bruke et eksempel, la meg illustrere hvordan vi kan lage en indeks for den spesifikke tabellen for å forbedre ytelsen.
Jeg vil bruke filmbordet i de ansattes database. Du kan finne ressursen fra ressurssiden nedenfor:
https: // dev.mysql.com/doc/indeks-annet.html
La oss først se bak-the-scene-prosessen MySQL bruker for å behandle en enkel Select-setning der kjønn er lik F.
Forklar valgt emp_no, first_name, last_name fra ansatte der kjønn = 'f';Gitt størrelsen på tabellen og spurte data, er det ikke veldig effektivt å skanne mer enn 200 000 rader. I så fall kan vi redusere denne verdien ved å opprette en indeks.
For å lage en indeks, kan vi gjøre:
Lag indeksens kjønn på ansatte (kjønn);Når vi har opprettet indeksen, vil MySQL skanne verdiene som vist i utgangen ovenfor.
Konklusjon
Jeg håper denne opplæringen har gitt deg en dypere forståelse av å bruke MySQL -indekser for å forbedre databaseytelsen.
Takk for at du leser.