MySQL-datumbaza indekso tipo/krei/uzu kombinaĵon ALTER-deklaruzadon en MySQL

MySQLindekso tajpu/krei/uzi kombinaĵon ŝanĝi enMySQLuzado de komanda deklaro

MySQL-indeksoj

La starigo de MySQL-indekso estas tre grava por la efika funkciado de MySQL, kaj la indekso povas multe plibonigi la retrovidan rapidecon de MySQL.

Ekzemple, se MySQL kun racia dezajno kaj uzo de indeksoj estas Lamborghini, tiam MySQL sen indeksoj kaj indeksoj estas homa triciklo.

La indekso estas dividita en unu-kolumnan indekso kaj kunmetita indekso.Unu-kolumna indekso, tio estas, indekso enhavas nur ununuran kolumnon, tabelo povas havi plurajn unu-kolumnajn indeksojn, sed ĉi tio ne estas kunmetita indekso.Kunmetita indekso, tio estas, unu indekso enhavas plurajn kolumnojn.

Kiam vi kreas indekson, vi devas certigi, ke la indekso estas kondiĉo, kiu validas por la SQL-demando (kutime kiel kondiĉo de la klaŭzo WHERE).

Fakte, la indekso ankaŭ estas tabelo, la tabelo konservas la ĉefan ŝlosilon kaj indeksajn kampojn, kaj montras al la rekordoj de la entabelo.

La supre parolas pri la avantaĝoj de uzado de indeksoj, sed troa uzo de indeksoj kondukos al misuzo.Tial, la indekso ankaŭ havos siajn mankojn: kvankam la indekso multe plibonigas la konsultrapidecon, ĝi reduktos la rapidecon de ĝisdatigo de la tabelo, kiel INSERT, UPDATE kaj DELETE sur la tablo.Ĉar ĝisdatigante la tabelon, MySQL ne nur konservas la datumojn, sed ankaŭ konservas la indeksan dosieron.

Indeksado de indeksa dosiero kiu konsumas diskospacon.


normala indekso

krei indekson

Ĉi tiu estas la plej baza indekso, ĝi ne havas limigojn.Ĝi povas esti kreita laŭ la sekvaj manieroj:

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

Por tipoj CHAR kaj VARCHAR, longo povas esti malpli ol la fakta longo de la kampo; por tipoj BLOB kaj TEXT, longo devas esti specifita.

Modifi tabelstrukturon (aldonu indekson)

ALTER table tableName ADD INDEX indexName(columnName)

Specifu rekte dum kreado de la tabelo

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

Sintakso por faligi indekson

DROP INDEX [indexName] ON mytable; 

unika indekso

Ĝi similas al la antaŭa ordinara indekso, la diferenco estas: la valoro de la indeksa kolumno devas esti unika, sed nulaj valoroj estas permesitaj.En la kazo de kunmetita indekso, la kombinaĵo de kolumnaj valoroj devas esti unika.Ĝi povas esti kreita laŭ la sekvaj manieroj:

krei indekson

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

Modifi tabelstrukturon

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

Specifu rekte dum kreado de la tabelo

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

Aldonu kaj forigu indeksojn per la komando ALTER

Estas kvar manieroj aldoni indekson al datumtabelo:

  • ALTER TABLE tbl_name ADD PRIMARY KEY (listo_kolumna): Ĉi tiu deklaro aldonas ĉefan ŝlosilon, kio signifas, ke indeksaj valoroj devas esti unikaj kaj ne povas esti NULL.
  • ALTER TABLE tbl_name ADD UNIQUE indekso_nomo (kolumna_listo): La valoro de la indekso kreita de ĉi tiu deklaro devas esti unika (krom NULL, NULL povas aperi plurfoje).
  • ALTER TABLE tbl_name ADD INDEX indekso_nomo (kolumna_listo): Aldonu normalan indekson, la indeksa valoro povas aperi plurfoje.
  • ALTER TABLE tbl_name ADD FULLTEXT indekso_nomo (kolumna_listo):La deklaro precizigas la indekson kiel FULLTEXT por plenteksta indeksado.

La sekva ekzemplo estas aldoni indekson al tabelo.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Vi ankaŭ povas uzi la klaŭzon DROP ĉe la komando ALTER por faligi indeksojn.Provu la sekvan okazon por faligi la indekson:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Aldonu kaj forigu ĉefajn ŝlosilojn per la komando ALTER

La ĉefa ŝlosilo povas agi nur sur unu kolumno.Aldonante ĉefŝlosilindekson, vi devas certigi, ke la ĉefŝlosilo ne estas NULL defaŭlte (NE NULL).Ekzemploj estas kiel sekvas:

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

Vi ankaŭ povas forigi ĉefan ŝlosilon per la komando ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Vi nur bezonas specifi la PRIMARAN Ŝlosilon kiam vi forlasas ĉefan ŝlosilon, sed kiam vi forlasas indekson, vi devas scii la indeksan nomon.


montri indeksajn informojn

Vi povas uzi la komandon SHOW INDEX por listigi la koncernajn indeksajn informojn en la tabelo.La produktaĵinformoj povas esti formatitaj aldonante \G.

Provu la sekvajn ekzemplojn:

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

Hope Chen Weiliang Blogo ( https://www.chenweiliang.com/ ) dividis "MySQL-Datumbaza Indekso-Tipo/Kreu/Uzu Kombinaĵon ALTER Statement Usage en MySQL", kiu estas helpema al vi.

Bonvenon dividi la ligon de ĉi tiu artikolo:https://www.chenweiliang.com/cwl-496.html

Bonvenon al la Telegram-kanalo de la blogo de Chen Weiliang por ricevi la plej novajn ĝisdatigojn!

🔔 Estu la unua ricevi la valoran "ChatGPT Content Marketing AI Tool Use Guide" en la ĉefa dosierujo de la kanalo! 🌟
📚 Ĉi tiu gvidilo enhavas grandegan valoron, 🌟Ĉi tio estas malofta ŝanco, ne maltrafu ĝin! ⏰⌛💨
Kunhavigu kaj ŝatu se vi ŝatas!
Via kundivido kaj ŝatoj estas nia kontinua instigo!

 

Lasu komenton

Via retpoŝta adreso ne estos publikigita. Bezonataj kampoj estas uzataj * Etikedo

rulumu al la supro