MySQL databank yndeks type / meitsje / brûke kombinaasje ALTER statement gebrûk yn MySQL

MySQLyndekstype/oanmeitsje/gebrûk kombinaasje feroarje ynMySQLkommando statement gebrûk

MySQL-yndeksen

De oprjochting fan MySQL-yndeks is tige wichtich foar de effisjinte wurking fan MySQL, en de yndeks kin de opheljensnelheid fan MySQL sterk ferbetterje.

Bygelyks, as MySQL mei ridlik ûntwerp en gebrûk fan yndeksen in Lamborghini is, dan is MySQL sûnder yndeksen en yndeksen in minsklike trijewieler.

De yndeks is ferdield yn single-column index en gearstalde yndeks.Single-kolom yndeks, dat is, in yndeks befettet mar ien kolom, in tabel kin hawwe meardere single-kolom yndeks, mar dit is net in gearstalde yndeks.Gearstalde yndeks, dat is, in yndeks befettet meardere kolommen.

By it meitsjen fan in yndeks moatte jo der wis fan wêze dat de yndeks in betingst is dy't jildt foar de SQL-query (meastentiids as betingst fan 'e WHERE-klausule).

Yn feite is in yndeks ek in tabel dy't de primêre kaai- en yndeksfjilden bewarret en wiist nei de records fan 'e entiteitstabel.

De boppesteande prate oer de foardielen fan it brûken fan yndeksen, mar oermjittich gebrûk fan yndeksen sil liede ta misbrûk.Dêrom sil de yndeks ek syn tekoarten hawwe: hoewol de yndeks de query-snelheid sterk ferbettert, sil it de snelheid fan it bywurkjen fan de tabel ferminderje, lykas INSERT, UPDATE en DELETE fan 'e tabel.Om't by it bywurkjen fan 'e tabel, MySQL net allinich de gegevens bewarret, mar ek de yndeksbestân bewarret.

It yndeksearjen fan in yndeksbestân dat skiifromte ferbrûkt.


normale yndeks

meitsje yndeks

Dit is de meast basale yndeks, it hat gjin beheiningen.It kin makke wurde op 'e folgjende manieren:

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

Foar CHAR- en VARCHAR-typen kin de lingte minder wêze as de eigentlike lingte fan it fjild; foar BLOB- en TEXT-typen moat de lingte oantsjutte wurde.

Tabelstruktuer wizigje (yndeks taheakje)

ALTER table tableName ADD INDEX indexName(columnName)

Spesifisearje direkt by it meitsjen fan de tabel

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

Syntaksis om in yndeks te fallen

DROP INDEX [indexName] ON mytable; 

unike yndeks

It is fergelykber mei de foarige gewoane yndeks, it ferskil is: de wearde fan 'e yndekskolom moat unyk wêze, mar nulwearden binne tastien.Yn it gefal fan in gearstalde yndeks moat de kombinaasje fan kolomwearden unyk wêze.It kin makke wurde op 'e folgjende manieren:

meitsje yndeks

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

Feroarje tabel struktuer

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

Spesifisearje direkt by it meitsjen fan de tabel

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

Foegje yndeksen ta en fuortsmite mei it kommando ALTER

D'r binne fjouwer manieren om in yndeks ta te foegjen oan in gegevenstabel:

  • ALTER TABEL tbl_name ADD PRIMARY KEY (column_list): Dizze ferklearring foeget in primêre kaai ta, wat betsjut dat yndekswearden unyk moatte wêze en net NULL kinne wêze.
  • ALTER TABLE tbl_name UNIEKE yndeksnamme taheakje (column_list): De wearde fan de yndeks makke troch dizze ferklearring moat unyk wêze (útsein NULL, NULL kin meardere kearen ferskine).
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list): Foegje in normale yndeks ta, de yndekswearde kin meardere kearen ferskine.
  • ALTER TABLE tbl_name FULLTEXT ADD index_name (column_list):De ferklearring spesifiseart de yndeks as FULLTEXT foar folsleine-tekstyndeksearring.

It folgjende foarbyld is om in yndeks ta te foegjen oan in tabel.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Jo kinne ek de DROP-klausule brûke op it ALTER-kommando om yndeksen te fallen.Besykje it folgjende eksimplaar om de yndeks te fallen:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Primêre kaaien tafoegje en fuortsmite mei it kommando ALTER

De primêre kaai kin mar hannelje op ien kolom. By it tafoegjen fan in primêre kaai yndeks moatte jo derfoar soargje dat de primêre kaai net standert NULL is (NOT NULL).Foarbylden binne as folget:

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

Jo kinne ek in primêre kaai wiskje mei it kommando ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Jo moatte allinich de PRIMARY KEY opjaan as jo de primêre kaai falle, mar as jo in yndeks falle, moatte jo de yndeksnamme witte.


show yndeks ynformaasje

Jo kinne it kommando SHOW INDEX brûke om de relevante yndeksynformaasje yn 'e tabel te listjen.De útfierynformaasje kin opmakke wurde troch \G.

Besykje de folgjende foarbylden:

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

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) dielde "MySQL Database Index Type / Meitsje / Brûk kombinaasje ALTER Statement Usage yn MySQL", dat is nuttich foar jo.

Wolkom om de keppeling fan dit artikel te dielen:https://www.chenweiliang.com/cwl-496.html

Wolkom by it Telegram-kanaal fan Chen Weiliang's blog om de lêste updates te krijen!

🔔 Wês de earste om de weardefolle "ChatGPT Content Marketing AI Tool Usage Guide" te krijen yn 'e kanaaltopmap! 🌟
📚 Dizze hantlieding befettet enoarme wearde, 🌟Dit is in seldsume kâns, mis it net! ⏰⌛💨
Diel en like as jo wolle!
Jo dielen en likes binne ús trochgeande motivaasje!

 

发表 评论

Jo e-postadres wurdt net publisearre. Ferplichte fjilden wurde brûkt * Etiket

rôlje nei boppen