MySQL-databaseindekstype/opret/brug kombination ALTER-sætningsbrug i MySQL

MySQLindekstype/opret/brug kombinationsændring iMySQLbrug af kommandoudsagn

MySQL-indekser

Etableringen af ​​MySQL-indekset er meget vigtigt for en effektiv drift af MySQL, og indekset kan i høj grad forbedre genfindingshastigheden af ​​MySQL.

For eksempel, hvis MySQL med fornuftigt design og brug af indekser er en Lamborghini, så er MySQL uden indekser og indekser en menneskelig trehjulet cykel.

Indekset er opdelt i enkeltkolonneindeks og sammensat indeks.Enkeltkolonneindeks, det vil sige et indeks indeholder kun en enkelt kolonne, en tabel kan have flere enkeltkolonneindekser, men dette er ikke et sammensat indeks.Sammensat indeks, det vil sige, et indeks indeholder flere kolonner.

Når du opretter et indeks, skal du sikre dig, at indekset er en betingelse, der gælder for SQL-forespørgslen (normalt som en betingelse for WHERE-sætningen).

Faktisk er indekset også en tabel, tabellen gemmer primærnøgle- og indeksfelterne og peger på posterne i entitetstabellen.

Ovenstående taler om fordelene ved at bruge indekser, men overdreven brug af indekser vil føre til misbrug.Derfor vil indekset også have sine mangler: Selvom indekset i høj grad forbedrer forespørgselshastigheden, vil det reducere hastigheden på opdatering af tabellen, såsom INSERT, UPDATE og DELETE af tabellen.For når du opdaterer tabellen, gemmer MySQL ikke kun dataene, men gemmer også indeksfilen.

Indeksering af en indeksfil, der bruger diskplads.


normalt indeks

oprette indeks

Dette er det mest grundlæggende indeks, det har ingen begrænsninger.Det kan oprettes på følgende måder:

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

For CHAR- og VARCHAR-typer kan længden være mindre end den faktiske længde af feltet; for BLOB- og TEXT-typer skal længden angives.

Rediger tabelstruktur (tilføj indeks)

ALTER table tableName ADD INDEX indexName(columnName)

Angiv direkte ved oprettelse af tabellen

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

Syntaks for at droppe et indeks

DROP INDEX [indexName] ON mytable; 

unikt indeks

Det ligner det tidligere almindelige indeks, forskellen er: værdien af ​​indekskolonnen skal være unik, men nullværdier er tilladt.I tilfælde af et sammensat indeks skal kombinationen af ​​kolonneværdier være unik.Det kan oprettes på følgende måder:

oprette indeks

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

Ændre tabelstruktur

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

Angiv direkte ved oprettelse af tabellen

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

Tilføj og fjern indekser ved hjælp af ALTER-kommandoen

Der er fire måder at tilføje et indeks til en datatabel på:

  • ÆNDRINGSTABEL tbl_name TILFØJ PRIMÆR NØGLE (kolonneliste): Denne sætning tilføjer en primær nøgle, hvilket betyder, at indeksværdier skal være unikke og ikke kan være NULL.
  • ÆNDRINGSTABEL tbl_name TILFØJ UNIKT indeksnavn (kolonneliste): Værdien af ​​indekset, der oprettes af denne sætning, skal være unik (undtagen NULL, NULL kan forekomme flere gange).
  • ÆNDRINGSTABEL tbl_name ADD INDEX index_name (column_list): Tilføj et normalt indeks, indeksværdien kan vises flere gange.
  • ÆNDRINGSTABEL tbl_name TILFØJ FULDTEKST indeksnavn (kolonneliste):Udsagnet angiver indekset som FULLTEXT for fuldtekstindeksering.

Følgende eksempel er at tilføje et indeks til en tabel.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Du kan også bruge DROP-sætningen på ALTER-kommandoen til at slette indekser.Prøv følgende forekomst for at slette indekset:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Tilføj og fjern primærnøgler ved hjælp af ALTER-kommandoen

Den primære nøgle kan kun virke på én kolonne. Når du tilføjer et primærnøgleindeks, skal du sikre dig, at den primære nøgle 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ær nøgle med ALTER-kommandoen:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Du behøver kun at angive den PRIMÆRE NØGLE, når du slipper den primære nøgle, men når du slipper et indeks, skal du kende indeksnavnet.


vise indeksoplysninger

Du kan bruge kommandoen SHOW INDEX til at liste de relevante indeksoplysninger i tabellen.Outputinformationen kan formateres ved at tilføje \G.

Prøv følgende eksempler:

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

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) delte "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL", hvilket er nyttigt for dig.

Velkommen til at dele linket til denne artikel:https://www.chenweiliang.com/cwl-496.html

Velkommen til Telegram-kanalen på Chen Weiliangs blog for at få de seneste opdateringer!

🔔 Vær den første til at få den værdifulde "ChatGPT Content Marketing AI Tool Usage Guide" i kanalens øverste bibliotek! 🌟
📚 Denne guide indeholder enorm værdi, 🌟Dette er en sjælden mulighed, gå ikke glip af det! ⏰⌛💨
Del og like hvis du har lyst!
Din deling og likes er vores kontinuerlige motivation!

 

发表 评论

Din e-mail-adresse vil ikke blive offentliggjort. 必填 项 已 用 * 标注

scroll til toppen