MySQL gagnagrunnsvísitölutegund/búa til/nota samsetningu ALTER yfirlýsingunotkun í MySQL

MySQLvísitölugerð/búa til/nota combo breyta innMySQLnotkun skipunaryfirlýsingar

MySQL vísitölur

Stofnun MySQL vísitölunnar er mjög mikilvæg fyrir skilvirkan rekstur MySQL, og vísitalan getur bætt endurheimtarhraða MySQL til muna.

Til dæmis, ef MySQL með sanngjarnri hönnun og notkun á vísitölum er Lamborghini, þá er MySQL án vísitölur og vísitölur mannlegur þríhjól.

Vísitalan skiptist í einn dálk vísitölu og samsetta vísitölu.Eindálkavísitala, það er að segja að vísitala inniheldur aðeins einn dálk, tafla getur haft margar einsdálkavísitölur, en þetta er ekki samsett vísitala.Samsett vísitala, það er að segja að ein vísitala inniheldur marga dálka.

Þegar þú býrð til vísitölu þarftu að ganga úr skugga um að vísitalan sé skilyrði sem á við SQL fyrirspurnina (venjulega sem skilyrði WHERE ákvæðisins).

Í raun er vísitalan líka tafla, taflan vistar frumlykil- og vísitölureitina og bendir á færslur einingatöflunnar.

Ofangreint snýst allt um kosti þess að nota vísitölur, en óhófleg notkun vísitölu mun leiða til misnotkunar.Þess vegna mun vísitalan einnig hafa sína galla: þó vísitalan bæti fyrirspurnarhraðann til muna mun hún draga úr hraða uppfærslu töflunnar, eins og INSERT, UPDATE og DELETE á töflunni.Vegna þess að þegar þú uppfærir töfluna vistar MySQL ekki aðeins gögnin heldur vistar einnig vísitöluskrána.

Skráning á vísitöluskrá sem eyðir plássi.


eðlilega vísitölu

búa til vísitölu

Þetta er grunnvísitalan, hún hefur engar takmarkanir.Það er hægt að búa til á eftirfarandi hátt:

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

Fyrir CHAR og VARCHAR gerðir getur lengd verið minni en raunveruleg lengd reitsins; fyrir BLOB og TEXT gerðir þarf að tilgreina lengd.

Breyta töfluskipulagi (bæta við vísitölu)

ALTER table tableName ADD INDEX indexName(columnName)

Tilgreindu beint þegar þú býrð til töfluna

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

Setningafræði til að sleppa vísitölu

DROP INDEX [indexName] ON mytable; 

einstaka vísitölu

Það er svipað og fyrri venjulegu vísitalan, munurinn er: gildi vísitöludálksins verður að vera einstakt, en núllgildi eru leyfð.Ef um er að ræða samsetta vísitölu verður samsetning dálkagilda að vera einstök.Það er hægt að búa til á eftirfarandi hátt:

búa til vísitölu

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

Breyta töfluskipulagi

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

Tilgreindu beint þegar þú býrð til töfluna

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

Bættu við og fjarlægðu vísitölur með ALTER skipuninni

Það eru fjórar leiðir til að bæta vísitölu við gagnatöflu:

  • BREYTATAFLA tbl_name BÆTA AÐ AÐALLYKLI (column_list): Þessi setning bætir við aðallykli, sem þýðir að vísitölugildi verða að vera einstök og geta ekki verið NULL.
  • BREYTATAFLA tbl_name BÆTA AÐ EINSTAKUM index_name (column_list): Gildi vísitölunnar sem búin er til með þessari yfirlýsingu verður að vera einstakt (nema NULL, NULL getur birst mörgum sinnum).
  • BREYTATAFLA tbl_name ADD INDEX index_name (column_list): Bættu við venjulegum vísitölu, vísitölugildið getur birst mörgum sinnum.
  • BREYTATAFLA tbl_name BÆTA AÐ FULLTEXTI index_name (column_list):Yfirlýsingin tilgreinir vísitöluna sem FULLTEXT fyrir skráningu í fullri texta.

Eftirfarandi dæmi er til að bæta vísitölu við töflu.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Þú getur líka notað DROP ákvæðið á ALTER skipuninni til að fella vísitölur.Prófaðu eftirfarandi tilvik til að sleppa vísitölunni:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Bættu við og fjarlægðu aðallykla með ALTER skipuninni

Aðallykillinn getur aðeins virkað á einum dálki. Þegar þú bætir við aðallyklavísi þarftu að tryggja að aðallykillinn sé ekki NULL sjálfgefið (EKKI NULL).Dæmi eru sem hér segir:

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

Þú getur líka eytt aðallykli með ALTER skipuninni:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Þú þarft aðeins að tilgreina PRIMARY KEY þegar þú sleppir aðallykli, en þegar þú sleppir vísitölu verður þú að vita nafn vísitölunnar.


sýna vísitöluupplýsingar

Þú getur notað SHOW INDEX skipunina til að skrá viðeigandi vísitöluupplýsingar í töflunni.Hægt er að forsníða úttaksupplýsingarnar með því að bæta við \G.

Prófaðu eftirfarandi dæmi:

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

Hope Chen Weiliang blogg ( https://www.chenweiliang.com/ ) deildi "MySQL Database Index Type/Create/Note Combination ALTER Statement Usage in MySQL", sem er gagnlegt fyrir þig.

Velkomið að deila tengli þessarar greinar:https://www.chenweiliang.com/cwl-496.html

Velkomin á Telegram rásina á bloggi Chen Weiliang til að fá nýjustu uppfærslurnar!

🔔 Vertu fyrstur til að fá dýrmæta „ChatGPT Content Marketing AI Notkunarleiðbeiningar“ í efstu möppu rásarinnar! 🌟
📚 Þessi handbók inniheldur mikið gildi, 🌟Þetta er sjaldgæft tækifæri, ekki missa af því! ⏰⌛💨
Deildu og likeðu ef þú vilt!
Deiling þín og líkar við eru stöðug hvatning okkar!

 

发表 评论

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru notaðir * Merkimiði

flettu efst