MySQL-databasindextyp/skapa/använd kombination ALTER-satsanvändning i MySQL

MySQLindextyp/skapa/använd combo alter inMySQLkommandosatsanvändning

MySQL-index

Inrättandet av MySQL-index är mycket viktigt för en effektiv drift av MySQL, och indexet kan avsevärt förbättra hämtningshastigheten för MySQL.

Till exempel, om en korrekt designad och indexerad MySQL är en Lamborghini, så är MySQL utan en indexerad design en mänsklig trehjuling.

Indexet är uppdelat i enkolumnsindex och sammansatt index.Enkelkolumnsindex, det vill säga ett index innehåller bara en enda kolumn, en tabell kan ha flera enkolumnsindex, men detta är inte ett sammansatt index.Sammansatt index, det vill säga ett index innehåller flera kolumner.

När du skapar ett index måste du se till att indexet är ett villkor som tillämpas på SQL-frågan (vanligtvis som ett villkor för WHERE-satsen).

Faktum är att indexet också är en tabell, tabellen sparar primärnyckeln och indexfälten och pekar på posterna i entitetstabellen.

Ovanstående talar om fördelarna med att använda index, men överdriven användning av index kommer att leda till missbruk.Därför kommer indexet också att ha sina brister: även om indexet avsevärt förbättrar frågehastigheten, kommer det att minska hastigheten för att uppdatera tabellen, som INSERT, UPDATE och DELETE på tabellen.För när du uppdaterar tabellen sparar MySQL inte bara data, utan sparar också indexfilen.

Indexering av en indexfil som förbrukar diskutrymme.


normalt index

skapa index

Detta är det mest grundläggande indexet, det har inga begränsningar.Det kan skapas på följande sätt:

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

För CHAR- och VARCHAR-typerna kan längden vara mindre än fältets faktiska längd; för BLOB- och TEXT-typerna måste längden anges.

Ändra tabellstruktur (lägg till index)

ALTER table tableName ADD INDEX indexName(columnName)

Ange direkt när du skapar tabellen

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

Syntax för att släppa ett index

DROP INDEX [indexName] ON mytable; 

unikt index

Det liknar det tidigare vanliga indexet, skillnaden är: värdet på indexkolumnen måste vara unikt, men nullvärden är tillåtna.I fallet med ett sammansatt index måste kombinationen av kolumnvärden vara unik.Det kan skapas på följande sätt:

skapa index

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

Ändra tabellstruktur

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

Ange direkt när du skapar tabellen

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

Lägg till och ta bort index med kommandot ALTER

Det finns fyra sätt att lägga till ett index i en datatabell:

  • ALTER TABLE tbl_name LÄGG TILL PRIMÄRNYCKEL (column_list): Denna sats lägger till en primärnyckel, vilket innebär att indexvärden måste vara unika och inte kan vara NULL.
  • ALTER TABLE tbl_name LÄGG TILL UNIKT index_name (column_list): Värdet på indexet som skapas av denna sats måste vara unikt (förutom NULL kan NULL visas flera gånger).
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list): Lägg till ett normalt index, indexvärdet kan visas flera gånger.
  • ALTER TABLE tbl_name LÄGG TILL FULLTEXT index_name (column_list):Uttrycket anger indexet som FULLTEXT för fulltextindexering.

Följande exempel är att lägga till ett index i en tabell.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Du kan också använda DROP-satsen på ALTER-kommandot för att släppa index.Försök med följande instans för att ta bort indexet:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Lägg till och ta bort primärnycklar med kommandot ALTER

Primärnyckeln kan bara agera på en kolumn. När du lägger till ett primärnyckelindex måste du se till att primärnyckeln inte är NULL som standard (INTE NULL).Exempel är följande:

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

Du kan också ta bort en primärnyckel med kommandot ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Du behöver bara ange PRIMARY KEY när du släpper primärnyckeln, men när du släpper ett index måste du känna till indexnamnet.


visa indexinformation

Du kan använda kommandot SHOW INDEX för att lista relevant indexinformation i tabellen.Utdata kan formateras genom att lägga till \G.

Prova följande exempel:

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

Hope Chen Weiliang blogg ( https://www.chenweiliang.com/ ) delade "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL", vilket är användbart för dig.

Välkommen att dela länken till denna artikel:https://www.chenweiliang.com/cwl-496.html

Välkommen till Telegram-kanalen på Chen Weiliangs blogg för att få de senaste uppdateringarna!

🔔 Bli först med att få den värdefulla "ChatGPT Content Marketing AI Tool Usage Guide" i kanalens toppkatalog! 🌟
📚 Den här guiden innehåller ett enormt värde, 🌟Detta är ett sällsynt tillfälle, missa inte det! ⏰⌛💨
Dela och gilla om du vill!
Dina delning och likes är vår ständiga motivation!

 

发表 评论

Din e-postadress kommer inte att publiceras. 必填 项 已 用 * 标注

scrolla till toppen