Hvordan finner jeg indeksen til en tabell i mysql?

Hvordan finner jeg indeksen til en tabell i mysql?
En databankindeks er en dataarrangement som forbedrer hurtigheten av tabelltransaksjoner. Å ha en eller enda flere kolonner, indekser kan genereres, og legge grunnlaget for gjensidig raske tilfeldige søk og effektiv journalføringsarrangement. Dette bør huskes når du konstruerer en indeks, at alle kolonnene blir støpt for å generere SQL-spørsmål, og også for å konstruere en eller til og med ytterligere indekser for disse kolonnene. I praksis er indekser en form for tabeller som inneholder primærnøkkelen eller indekskolonnefeltet og refererer til den enkelte tabellen for hver post. Brukere ser kanskje ikke indeksene, disse er avstøpning for å akselerere spørsmål, så vel som databasesøkemotoren, vil konsumere dem for å spore poster veldig raskt.

Indekser ved hjelp av MySQL Workbench

For det første, start MySQL Workbench og koble den til rotdatabasen.

Vi oppretter en ny tabell 'kontakter' i databasen 'data' med forskjellige kolonner i den. Vi har en primærnøkkel og en unik nøkkelkolonne i denne tabellen, e.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 skal lage indeks 'telefon' for kolonnen 'telefon' og indeks 'navn' for kolonnene'first_name 'og' last_name '. Utfør spørringen ved hjelp av flash -ikonet på oppgavelinjen.

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

Naviger nå mot skjemafeltet. Under listen "Tabeller" kan du finne den nyopprettede tabellen.

La oss prøve kommandoen for showindekser for å sjekke indekser for akkurat denne tabellen som vist nedenfor i spørringsområdet ved hjelp av flash -tegnet.

Dette vinduet vises på en gang. Du kan se en kolonne 'Key_name' som viser at nøkkelen tilhører hver kolonne. Som vi har opprettet "telefonen" og "navn" -indeksen, vises den også. Du kan se den andre relevante informasjonen angående indekser E.g., sekvens av indeksen for en bestemt kolonne, indekstype, synlighet osv.

Indekser ved hjelp av MySQL-kommandolinjeskall

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

Eksempel 01
Anta at vi har en tabell 'ordre1' i skjemaet 'rekkefølge' med noen kolonner som har verdier som illustrert på bildet. Ved hjelp av 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 vil prøve showindeksene eller vise Keys -kommandoen for å sjekke indeksene som følger:

>> Vis nøkler fra ordre1 i data;

Du kan oppfatte at tabellen 'Order1' bare har en primær nøkkelkolonne fra utdataene nedenfor. Dette betyr at det ikke er definert noen indekser ennå, det er derfor det bare viser 1-radsoppføringer for den primære nøkkelkolonnen 'ID'.

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

>> Vis indekser fra data.bestill1 hvor synlig = 'nei';

Nå skal vi lage noen unike indekser på bordet 'Order1'. Vi har kalt denne unike indeksen som 'rec' og brukt den på de 4 kolonnene: id, region, status og ordreno. Prøv kommandoen nedenfor for å gjøre det.

>> Opprett unik indeks REC på data.ordre1 (id, region, status, ordre);

La oss nå se resultatet av å lage indeksene for den aktuelle tabellen. Resultatet er gitt nedenfor etter bruken av kommandoen for showindekser. Vi har en liste over alle indeksene som er opprettet, med de samme navnene 'for hver kolonne.

>> Vis indekser fra ordre1 i data;

Eksempel 02
Anta en ny tabell 'Student' i databasen 'Data' med fire-kolonne felt 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 nedenfor viser indekser.

>> Vis indekser fra data.student der nøkkelnavn = 'primær';

Du kan se at den vil sende ut indeksoppføringen for den eneste kolonnen som har typen 'primær' på grunn av hvor leddet som brukes i spørringen.

La oss lage en unik og en ikke-unik indeks på de forskjellige tabellen 'Student' kolonner. Vi vil først opprette den unike indeksen 'STD' på kolonnen 'Navn' på tabellen 'Student' ved å bruke CREATE Index-kommandoen på kommandolinjeklientskallet som nedenfor.

>> Lag unik indeks STD på data.student navn );

La oss opprette eller legge til en ikke-unik indeks på kolonnen 'emne' av 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 den nedenfor Alter Table-spørringen i kommandolinjeskallet, legg indeksen 'STDSub' til kolonnen 'emne'.

>> endre tabelldata.Student Add Index Stdsub (emne);

Nå er det turen til å se etter de nylig tilførte 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ørsmålene har tildelt ikke-unik indeks 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 på data.student;

La se de gjenværende indeksene ved å bruke den samme showindeksinstruksjonen som nedenfor. Vi har nå satt igjen med de eneste to indeksene som ble igjen i tabellen 'Student' i henhold til utdataene nedenfor.

>> Vis indekser fra data.student;

Konklusjon

Til slutt har vi gjort alle nødvendige eksempler på hvordan du kan lage unike og ikke-unike indekser, vise eller sjekke indekser, og slippe indeksene for den aktuelle tabellen.