MySQL-i andmebaasi indeksi tüüp/loo/kasuta kombinatsiooni ALTER-lause kasutamine MySQL-is

MySQLindeksi tüüp/loo/kasuta kombinatsiooni muutmineMySQLkäsulause kasutamine

MySQL-i indeksid

MySQL-i indeksi loomine on MySQL-i tõhusaks toimimiseks väga oluline ja indeks võib oluliselt parandada MySQL-i otsingukiirust.

Näiteks kui mõistliku disaini ja indeksite kasutamisega MySQL on Lamborghini, siis ilma indeksite ja indeksiteta MySQL on inimese kolmerattaline jalgratas.

Indeks jaguneb üheveeruliseks indeksiks ja liitindeksiks.Üheveeruline indeks, see tähendab, et indeks sisaldab ainult ühte veergu, tabelis võib olla mitu üheveerulist indeksit, kuid see ei ole liitindeks.Liitindeks, see tähendab, et indeks sisaldab mitut veergu.

Indeksi loomisel peate veenduma, et indeks on SQL-päringule rakendatav tingimus (tavaliselt WHERE-klausli tingimusena).

Tegelikult on register ka tabel, mis salvestab primaarvõtme ja indeksi väljad ning osutab olemitabeli kirjetele.

Ülaltoodu räägib indeksite kasutamise eelistest, kuid indeksite liigne kasutamine toob kaasa kuritarvitamise.Seetõttu on indeksil ka omad puudused: kuigi indeks parandab oluliselt päringu kiirust, vähendab see tabeli värskendamise kiirust, näiteks tabeli INSERT, UPDATE ja DELETE.Sest tabeli uuendamisel ei salvesta MySQL mitte ainult andmeid, vaid salvestab ka registrifaili.

Kettaruumi tarbiva registrifaili indekseerimine.


normaalne indeks

luua indeks

See on kõige elementaarsem indeks, sellel pole piiranguid.Seda saab luua järgmistel viisidel:

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

Tüüpide CHAR ja VARCHAR puhul võib pikkus olla välja tegelikust pikkusest väiksem; BLOB ja TEXT tüüpide puhul tuleb pikkus määrata.

Muutke tabeli struktuuri (lisage indeks)

ALTER table tableName ADD INDEX indexName(columnName)

Määrake otse tabeli loomisel

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

Süntaks indeksi tühistamiseks

DROP INDEX [indexName] ON mytable; 

ainulaadne indeks

See sarnaneb eelmise tavalise indeksiga, erinevus seisneb selles: indeksi veeru väärtus peab olema kordumatu, kuid lubatud on nullväärtused.Liitindeksi puhul peab veeru väärtuste kombinatsioon olema kordumatu.Seda saab luua järgmistel viisidel:

luua indeks

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

Muutke tabeli struktuuri

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

Määrake otse tabeli loomisel

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

Lisage ja eemaldage indekseid käsu ALTER abil

Andmetabelisse indeksi lisamiseks on neli võimalust.

  • ALTER TABLE tbl_name LISA ESMAVÕTI (veeru_loend): See avaldus lisab primaarvõtme, mis tähendab, et indeksi väärtused peavad olema kordumatud ega tohi olla NULL.
  • ALTER TABLE tbl_name ADD UNIQUE indeksi_nimi (veeru_loend): Selle lausega loodud indeksi väärtus peab olema kordumatu (välja arvatud NULL, NULL võib esineda mitu korda).
  • ALTER TABLE tbl_name ADD INDEX indeksi_nimi (veeru_loend): Lisage tavaline indeks, indeksi väärtus võib ilmuda mitu korda.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (veeru_loend):Avaldis määrab täisteksti indekseerimiseks indeksi FULLTEXT.

Järgmine näide on tabelisse indeksi lisamine.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Indekside tühistamiseks saate kasutada ka käsu ALTER DROP-klauslit.Proovige indeksi tühistamiseks järgmist näidet:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Lisage ja eemaldage esmased võtmed, kasutades käsku ALTER

Primaarvõti saab toimida ainult ühe veeruga. Primaarvõtme indeksi lisamisel peate tagama, et primaarvõti ei oleks vaikimisi NULL (NOT NULL).Näited on järgmised.

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

Primaarvõtme saate kustutada ka käsuga ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Primaarvõtme väljalangemisel tuleb määrata vaid PRIMARY KEY, kuid indeksi mahajätmisel peab teadma indeksi nime.


näidata indeksi teavet

Saate kasutada käsku SHOW INDEX, et loetleda tabelis asjakohane indeksi teave.Väljundteavet saab vormindada, lisades \G.

Proovige järgmisi näiteid.

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

Hope Chen Weiliangi ajaveeb ( https://www.chenweiliang.com/ ) jagatud "MySQL-i andmebaasi indeksi tüüp/loomine/kasutamine kombinatsiooni ALTER-lause kasutamine MySQL-is", mis on teile abiks.

Tere tulemast selle artikli linki jagama:https://www.chenweiliang.com/cwl-496.html

Tere tulemast Chen Weiliangi ajaveebi Telegrami kanalile, et saada uusimaid värskendusi!

🔔 Olge esimene, kes saab kanali ülemises kataloogis väärtusliku "ChatGPT sisuturunduse AI tööriista kasutamise juhendi"! 🌟
📚 See juhend sisaldab tohutut väärtust, 🌟See on harukordne võimalus, ärge jätke seda kasutamata! ⏰⌛💨
Jaga ja like kui meeldib!
Teie jagamine ja meeldimised on meie pidev motivatsioon!

 

发表 评论

Teie e-posti aadressi ei avaldata. Kasutatakse kohustuslikke välju * Silt

kerige üles