En database indeks er en datastruktur som forbedrer hastigheten av operasjoner i en tabell. Indekser kan opprettes ved hjelp av ett eller flere kolonner, som gir grunnlag for både raske tilfeldige oppslag og effektiv bestilling av innsyn i journal.
Mens du oppretter indeksen, bør det tas i betraktning at det er søylene som vil bli brukt til å lage SQL-spørringer og lage en eller flere indekser på disse søylene.
I praksis indeksene er også skrive av tabeller, som holder primærnøkkel eller indeksfeltet og en peker til hver post i selve tabellen.
Brukerne kan ikke se indeksene, er de bare brukes til å øke hastigheten på spørsmål og vil bli brukt av Database Search Engine til lokalisere poster veldig fort.
Sett inn og oppdatere uttalelser ta mer tid på tabeller med indekser der som SELECT-setninger blir fort på disse tabellene. Årsaken er at mens de gjør innsats eller oppdatering, må databasen for å sette inn eller oppdatere indeksverdier samt
Enkelt og unik indeks.
Du kan opprette en unik indeks på et bord. En unik indeks betyr at to rader ikke kan ha samme indeksverdi. Her er syntaksen til å opprette en indeks på et bord
CREATE UNIQUE INDEX index_nameON table_name (COLUMN1, COLUMN2, ...);
Du kan bruke en eller flere kolonner for å lage en indeks. For eksempel kan vi lage en indeks på tutorials_tbl hjelp tutorial_author.
CREATE UNIQUE INDEX AUTHOR_INDEXON tutorials_tbl (tutorial_author)
Du kan lage en enkel indeks på et bord. Bare utelate UNIK søkeord fra søket for å lage enkle indeksen. Enkelt indeks tillater like verdier i en tabell
Hvis du vil indeksere verdiene i en kolonne i synkende rekkefølge, kan du legge det reserverte ordet DESC etter kolonnenavnet
mysql >..; Lag unike INDEX AUTHOR_INDEXON tutorials_tbl (tutorial_author DESC)
ALTER-kommandoen til å legge til og slippe INDEX:
Det finnes fire typer utsagn for å legge til indekser i en tabell:
ALTER TABLE tbl_name ADD PRIMARY KEY (column_list):
Denne uttalelsen legger en primærnøkkel, noe som betyr at indekserte verdier må være unik og kan ikke være NULL
ALTER. TABELL tbl_name ADD UNIK index_name (column_list).
Denne uttalelsen skaper en indeks for hvilke verdier må være unikt (med unntak av NULL-verdier, noe som kan forekomme flere ganger)
ALTER TABLE tbl_name ADD INDEX index_name (column_list):
Dette legger en vanlig indeks der noen verdi kan vises mer enn én gang
ALTER TABLE tbl_name ADD. FULLTEXT index_name (column_list).
Dette skaper en spesiell FULLTEXT indeks som brukes for tekst-søking formål
Her er eksempel å legge indeksen i en eksisterende tabell Du kan slippe noen INDEX ved hjelp DROP klausul sammen med ALTER-kommandoen. Prøv følgende eksempel for å slippe over-laget indeksen Du kan slippe noen INDEX ved hjelp DROP klausul sammen med ALTER-kommandoen. Prøv følgende eksempel for å slippe oven opprettet index Du kan legge til primærnøkkel, så vel på samme måte. Men pass på at Primary Key fungerer på søyler, som er NOT NULL. Her er eksempel å legge primærnøkkel i en eksisterende tabell. Dette vil gjøre en kolonne NOT NULL først og deretter legge den som en primærnøkkel Du kan bruke ALTER-kommandoen til å slippe en primærnøkkel som følger: For å slippe en indeks som ikke er en primærnøkkel, må du angi indeksen navn Du kan bruke SHOW INDEX kommando. å liste ut alle indekser knyttet til et bord. Vertikal-format utgang (spesifisert av \\ G) er ofte nyttig med denne uttalelsen, for å unngå lang kø wraparound: Prøv følgende eksempel:
mysql >.; ALTER TABLE testalter_tbl DROP INDEX (c);
ALTER Command å legge til og slippe PRIMARY KEY.
mysql >.; ALTER TABLE testalter_tbl ENDRER jeg INT NOT NULL; mysql > ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);
mysql > ALTER TABLE testalter_tbl DROP PRIMARY KEY;
Vise INDEX Informasjon:
mysql > Vis oversikt fra table_name
\\ G ........