MySQL MariaDB

Hvordan finner jeg indeksen til en tabell i MySQL?

Hvordan finner jeg indeksen til en tabell i MySQL?
En databankindeks er et dataarrangement som forbedrer hurtigheten til bordtransaksjoner. Å ha en eller til og med flere kolonner, indekser kan genereres, og legge grunnlaget for gjensidig raske tilfeldige søk og effektiv oppføring av hovedretter. Dette bør tas i betraktning når du konstruerer en indeks, at alle kolonner blir kastet av for å generere SQL-spørringer, og også for å konstruere en eller ytterligere indekser for disse kolonnene. I praksis er indekser en form for tabeller som inneholder primærnøkkelen eller indeksfeltet og refererer til den enkelte tabell for hver post. Brukere kan ikke se indeksene, disse blir avvist for å akselerere spørringer, i tillegg til at databasesøkemotoren vil forbruke dem til å spore poster veldig raskt.

Indekser ved bruk av MySQL WorkBench

Først starter du MySQL Workbench og kobler den til rotdatabasen.

Vi skal lage en ny tabell 'kontakter' i databasens 'data' med forskjellige kolonner. Vi har en primærnøkkel og en UNIK nøkkelkolonne i denne tabellen, f.eks.g. id og e-post. Her må du avklare at du ikke trenger å lage indekser for de UNIKE og PRIMÆRE nøkkelkolonnene. Databasen oppretter automatisk indeksene for begge typer kolonner. Så vi lager indeks 'telefon' for kolonnen 'telefon' og indekserer 'navn' for kolonnene 'første navn' og 'etternavn'. Utfør spørringen ved hjelp av flash-ikonet på oppgavelinjen.

Du kan se fra utdataene at tabellen og indeksene er opprettet.

Gå nå mot skjemafeltet. Under listen over tabeller kan du finne den nylig opprettede tabellen.

La oss prøve SHOW INDEXES-kommandoen for å sjekke indekser for denne bestemte tabellen som vist nedenfor i spørringsområdet ved hjelp av blitstegnet.

Dette vinduet vises med en gang. Du kan se en kolonne 'Nøkkelnavn' som viser at nøkkelen tilhører hver kolonne. Da vi har opprettet 'telefon' og 'navn' indeksen, vises den også. Du kan se annen relevant informasjon angående indekser e.g., sekvens av indeksen for en bestemt kolonne, indekstype, synlighet osv.

Indekser ved bruk av MySQL Command-Line Shell

Åpne MySQL-kommandolinjeklientskallet fra datamaskinen din. Skriv inn MySQL-passordet for å begynne å bruke.

Eksempel 01
Anta at vi har en tabell 'order1' i skjemaet 'order' med noen kolonner som har verdier som illustrert i bildet. Ved å bruke SELECT-kommandoen må vi hente postene til 'order1'.

>> VELG * FRA data.ordre1;

Siden vi ikke har definert noen indekser for tabellen 'order1' ennå, er det umulig å gjette. Så vi prøver SHOW INDEXES eller SHOW KEYS-kommandoen for å sjekke indeksene som følger:

>> VIS NØKLER FRA order1 IN data;

Du kan oppfatte at tabellen 'order1' bare har 1 hovednøkkelkolonne fra utdataene nedenfor. Dette betyr at det ikke er definert noen indekser ennå, det er derfor det viser bare 1-radsposter for den primære nøkkelkolonnen 'id'.

La oss sjekke indeksene for en hvilken som helst kolonne i tabellen 'orden1' der synligheten er av som vist nedenfor.

>> VIS INDEKSER FRA data.ordre1 WHERE VISIBLE = 'NO';

Nå skal vi lage noen UNIKE indekser på tabellen 'order1'.  Vi har kalt denne UNIKE INDEKSEN som 'rec' og brukt den på de fire kolonnene: id, Region, Status og OrderNo. Prøv kommandoen nedenfor for å gjøre det.

>> OPPRETT UNIK INDEKS rec ON data.order1 (id, Region, Status, OrderNo);

La oss nå se resultatet av å lage indeksene for den aktuelle tabellen. Resultatet er gitt nedenfor etter bruk av kommandoen VIS INDEKSER. Vi har en liste over alle indeksene som er opprettet, med samme navn 'rec' for hver kolonne.

>> VIS INDEKSER FRA order1 IN data;

Eksempel 02
Anta en ny tabell 'student' i databasen 'data' med firekolonnefelt som har noen poster. Hent dataene fra denne tabellen ved hjelp av SELECT-spørringen som følger:

>> VELG * FRA data.student;

La oss hente de primære nøkkelkolonneindeksene først ved å prøve kommandoen VIS INDEKSER nedenfor.

>> VIS INDEKSER FRA data.student WHERE Key_name = 'PRIMARY';

Du kan se at den vil sende indeksoppføringen for den eneste kolonnen som har typen 'PRIMÆR' på grunn av WHERE-setningen som brukes i spørringen.

La oss lage en unik og en ikke-unik indeks på de forskjellige tabellkolonnene. Vi oppretter først den UNIKE indeksen 'std' i kolonnen 'Navn' i tabellen 'student' ved å bruke CREATE INDEX-kommandoen på kommandolinjeklientskallet som nedenfor.

>> OPPRETT UNIK INDEKS std PÅ data.student navn );

La oss opprette eller legge til en ikke-unik indeks i kolonnen 'Emne' i tabellen 'student' mens du bruker ALTER-kommandoen. Ja, vi har brukt ALTER-kommandoen fordi den brukes til å endre tabellen. Så vi har endret tabellen ved å legge til indekser i kolonnene. Så la oss prøve spørringen ALTER TABLE nedenfor i kommandolinjeskallet, legg til indeksen 'stdSub' i kolonnen 'Emne'.

>> ALTER TABLE data.student LEGG TIL INDEKS stdSub (Emne);

Nå er det turen til å se etter de nylig tilføyde indeksene på tabellen 'student' og kolonnene 'Navn' og 'Emne'. Prøv kommandoen nedenfor for å sjekke gjennom den.

>> VIS INDEKSER FRA data.student;

Fra utgangen kan du se at spørringene har tilordnet den ikke-unike indeksen til kolonnen 'Emne' og den unike indeksen til kolonnen 'Navn'. Du kan også se navnene på indeksene.

La oss prøve DROP INDEX-kommandoen for å slippe indeksen 'stdSub' fra tabellen 'student'.

>> DROP INDEX stdSub ON data.student;

La de gjenværende indeksene se, ved å bruke den samme VIS INDEKS-instruksjonen som nedenfor. Vi har nå igjen med de eneste to indeksene som er igjen i tabellen 'student' i henhold til utdataene nedenfor.

>> VIS INDEKSER FRA data.student;

Konklusjon

Til slutt har vi gjort alle nødvendige eksempler om hvordan du oppretter unike og ikke-unike indekser, viser eller sjekker indekser og slipper indeksene for den aktuelle tabellen.

Slik installerer du League Of Legends på Ubuntu 14.04
Hvis du er fan av League of Legends, er dette en mulighet for deg å prøvekjør League of Legends. Merk at LOL støttes på PlayOnLinux hvis du er en linu...
Installer det siste OpenRA-strategispillet på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spillmotor som gjenskaper de tidlige Westwood-spillene som den klassiske Command & Conquer: Red Alert. Di...
Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...