MySQL-databaseindekstype/opprett/bruk kombinasjon ALTER-setningsbruk i MySQL

MySQLindekstype/opprett/bruk kombinasjon endre innMySQLkommandosetningsbruk

MySQL-indekser

Etableringen av MySQL-indeksen er svært viktig for effektiv drift av MySQL, og indeksen kan i stor grad forbedre gjenfinningshastigheten til MySQL.

For eksempel, hvis MySQL med fornuftig design og bruk av indekser er en Lamborghini, så er MySQL uten indekser og indekser en menneskelig trehjulssykkel.

Indeksen er delt inn i enkeltkolonneindeks og sammensatt indeks.Enkeltkolonneindeks, det vil si at en indeks inneholder bare en enkelt kolonne, en tabell kan ha flere enkeltkolonneindekser, men dette er ikke en sammensatt indeks.Sammensatt indeks, det vil si at en indeks inneholder flere kolonner.

Når du oppretter en indeks, må du sørge for at indeksen er en betingelse brukt på SQL-spørringen (vanligvis som en betingelse for WHERE-leddet).

Faktisk er indeksen også en tabell, tabellen lagrer primærnøkkel- og indeksfeltene, og peker på postene til enhetstabellen.

Ovennevnte snakker om fordelene ved å bruke indekser, men overdreven bruk av indekser vil føre til misbruk.Derfor vil indeksen også ha sine mangler: selv om indeksen i stor grad forbedrer spørringshastigheten, vil den redusere hastigheten på oppdatering av tabellen, slik som INSERT, UPDATE og DELETE på tabellen.For når du oppdaterer tabellen, lagrer MySQL ikke bare dataene, men lagrer også indeksfilen.

Indeksering av en indeksfil som bruker diskplass.


normal indeks

opprette indeks

Dette er den mest grunnleggende indeksen, den har ingen begrensninger.Den kan lages på følgende måter:

CREATE INDEX indexName ON mytable(username(length)); 

For CHAR- og VARCHAR-typer kan lengden være mindre enn den faktiske lengden på feltet; for BLOB- og TEXT-typer må lengden angis.

Endre tabellstruktur (legg til indeks)

ALTER table tableName ADD INDEX indexName(columnName)

Spesifiser direkte når du oppretter tabellen

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

Syntaks for å slippe en indeks

DROP INDEX [indexName] ON mytable; 

unik indeks

Den ligner den forrige vanlige indeksen, forskjellen er: verdien av indekskolonnen må være unik, men nullverdier er tillatt.Når det gjelder en sammensatt indeks, må kombinasjonen av kolonneverdier være unik.Den kan lages på følgende måter:

opprette indeks

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

Endre tabellstrukturen

ALTER table mytable ADD UNIQUE [indexName] (username(length))

Spesifiser direkte når du oppretter tabellen

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

Legg til og fjern indekser ved å bruke ALTER-kommandoen

Det er fire måter å legge til en indeks i en datatabell:

  • ALTER TABLE tbl_name LEGG TIL PRIMÆR NØKKEL (column_list): Denne setningen legger til en primærnøkkel, som betyr at indeksverdier må være unike og ikke kan være NULL.
  • ENDRINGSTABELL tbl_name LEGG TIL UNIKT indeksnavn (kolonneliste): Verdien til indeksen som opprettes av denne setningen må være unik (bortsett fra NULL, NULL kan vises flere ganger).
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list): Legg til en normal indeks, indeksverdien kan vises flere ganger.
  • ENDRINGSTABELL tbl_name ADD FULLTEXT index_name (column_list):Utsagnet spesifiserer indeksen som FULLTEXT for fulltekstindeksering.

Følgende eksempel er å legge til en indeks i en tabell.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Du kan også bruke DROP-leddet på ALTER-kommandoen for å slippe indekser.Prøv følgende forekomst for å slette indeksen:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Legg til og fjern primærnøkler ved å bruke ALTER-kommandoen

Primærnøkkelen kan bare virke på én kolonne. Når du legger til en primærnøkkelindeks, må du sørge for at primærnøkkelen ikke er NULL som standard (IKKE NULL).Eksempler er som følger:

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

Du kan også slette en primærnøkkel med ALTER-kommandoen:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Du trenger bare å spesifisere PRIMÆRNØKKEL når du slipper primærnøkkelen, men når du slipper en indeks, må du kjenne indeksnavnet.


vise indeksinformasjon

Du kan bruke SHOW INDEX-kommandoen til å liste opp relevant indeksinformasjon i tabellen.Utdata kan formateres ved å legge til \G.

Prøv følgende eksempler:

mysql> SHOW INDEX FROM table_name; \G
........

Hope Chen Weiliang blogg ( https://www.chenweiliang.com/ ) delte "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL", som er nyttig for deg.

Velkommen til å dele lenken til denne artikkelen:https://www.chenweiliang.com/cwl-496.html

Velkommen til Telegram-kanalen til Chen Weiliangs blogg for å få de siste oppdateringene!

🔔 Vær den første til å få den verdifulle "ChatGPT Content Marketing AI Tool Usage Guide" i kanalens toppkatalog! 🌟
📚 Denne guiden inneholder enorm verdi, 🌟Dette er en sjelden mulighet, ikke gå glipp av den! ⏰⌛💨
Del og lik om du vil!
Din deling og likes er vår kontinuerlige motivasjon!

 

发表 评论

E-postadressen din vil ikke offentliggjøres. 必填 项 已 用 * Merkelapp

bla til toppen