MySQL duomenų bazės indekso tipo / kūrimo / naudojimo derinys ALTER sakinio naudojimas MySQL

MySQLIndekso tipo / kūrimo / naudojimo derinio keitimasMySQLKomandinių sakinių naudojimas

MySQL indeksas

MySQL indekso sukūrimas yra labai svarbus efektyviam MySQL veikimui, kuris gali labai pagerinti MySQL paieškos greitį.

Pavyzdžiui, jei MySQL, kuris yra tinkamai sukurtas ir naudoja indeksus, yra Lamborghini, tai MySQL, kuris nėra sukurtas ir naudoja indeksus, yra žmogaus triratis.

Indeksai skirstomi į vieno stulpelio indeksus ir kombinuotus indeksus. Vieno stulpelio indeksas reiškia, kad indeksą sudaro tik vienas stulpelis. Lentelėje gali būti keli vieno stulpelio indeksai, tačiau tai nėra kombinuotas indeksas. Kombinuotas indeksas, tai yra, indeksą sudaro keli stulpeliai.

Kurdami indeksą, turite užtikrinti, kad indeksas būtų taikomas SQL užklausos sakinio sąlygoms (dažniausiai kaip WHERE sąlyga).

Tiesą sakant, indeksas taip pat yra lentelė, kurioje išsaugomas pirminio rakto ir indekso laukai ir nurodomi objekto lentelės įrašai.

Visa tai kalba apie indeksų naudojimo naudą, tačiau per didelis indeksų naudojimas sukels piktnaudžiavimą. Todėl indeksas turės ir trūkumų: nors indeksas labai pagerina užklausos greitį, tačiau sumažins ir lentelės atnaujinimo greitį, pvz., INSERT, UPDATE ir DELETE lentelėje. Nes atnaujinant lentelę MySQL reikia ne tik išsaugoti duomenis, bet ir išsaugoti indekso failą.

Rodyklės failų indeksavimas užima vietos diske.


Įprastas indeksas

Sukurti indeksą

Tai pats paprasčiausias indeksas, jam nėra jokių apribojimų. Jį galima sukurti šiais būdais:

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

Jei tai yra CHAR, VARCHAR tipas, ilgis gali būti mažesnis už tikrąjį lauko ilgį; jei jis yra BLOB ir TEXT tipo, ilgis turi būti nurodytas.

Keisti lentelės struktūrą (pridėti indeksą)

ALTER table tableName ADD INDEX indexName(columnName)

Nurodykite jį tiesiogiai kurdami lentelę

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

Indekso ištrynimo sintaksė

DROP INDEX [indexName] ON mytable; 

unikalus indeksas

Jis panašus į ankstesnį įprastą indeksą, išskyrus tai, kad indekso stulpelio reikšmė turi būti unikali, tačiau leidžiamos nulinės reikšmės. Sudėtinio indekso atveju stulpelių reikšmių derinys turi būti unikalus. Jį galima sukurti šiais būdais:

Sukurti indeksą

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

Pakeiskite lentelės struktūrą

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

Nurodykite jį tiesiogiai kurdami lentelę

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

Pridėkite ir ištrinkite indeksus naudodami komandą ALTER

Yra keturi būdai, kaip įtraukti indeksą į duomenų lentelę:

  • ALTER TABLE tbl_name PRIDĖTI PIRMINĮ RAKTĄ (column_list): Šis teiginys prideda pirminį raktą, o tai reiškia, kad indekso reikšmė turi būti unikali ir negali būti NULL.
  • ALTER TABLE tbl_name ADD UNIQUE index_name (stulpelio_sąrašas): Šiuo teiginiu sukurto indekso reikšmė turi būti unikali (išskyrus NULL, kuri gali pasirodyti kelis kartus).
  • ALTER TABLE tbl_name ADD INDEX index_name (stulpelio_sąrašas): Pridėkite įprastą indeksą ir indekso reikšmė gali būti rodoma kelis kartus.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (stulpelio_sąrašas):Šis teiginys nurodo indeksą kaip FULLTEXT, kuris naudojamas viso teksto indeksavimui.

Šis pavyzdys prideda prie lentelės indeksą.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Taip pat galite naudoti DROP sąlygą komandoje ALTER, kad atsisakytumėte indekso. Norėdami ištrinti indeksą, išbandykite šį pavyzdį:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Pridėkite ir ištrinkite pirminius raktus naudodami komandą ALTER

Pirminis raktas gali veikti tik vieną stulpelį. Pridėdami pirminio rakto indeksą, turite įsitikinti, kad pagal numatytuosius nustatymus pirminis raktas nėra NULL. Pavyzdžiai yra tokie:

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

Taip pat galite ištrinti pirminį raktą naudodami komandą ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Naikinant pirminį raktą, reikia nurodyti tik PIRMINĮ RAKTĄ, tačiau ištrinant indeksą reikia žinoti indekso pavadinimą.


Rodyti rodyklės informaciją

Galite naudoti komandą SHOW INDEX norėdami pateikti susijusią rodyklės informaciją lentelėje. Išvesties informaciją galima suformatuoti pridedant \G.

Išbandykite šiuos pavyzdžius:

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

Hope Chen Weiliang tinklaraštis ( https://www.chenweiliang.com/ ) pasidalino „MySQL duomenų bazės indekso tipo / kūrimo / naudojimo derinio ALTER sakinio naudojimas MySQL“, kuris jums bus naudingas.

Kviečiame pasidalinti šio straipsnio nuoroda:https://www.chenweiliang.com/cwl-496.html

Sveiki atvykę į Chen Weiliang tinklaraščio Telegram kanalą, kad gautumėte naujausius atnaujinimus!

🔔 Būkite pirmas, kuris kanalo viršaus kataloge gaus vertingą „ChatGPT turinio rinkodaros AI įrankio naudojimo vadovą“! 🌟
📚 Šis vadovas turi didžiulę vertę, 🌟Tai reta galimybė, nepraleiskite jos! ⏰⌛💨
Dalinkitės ir like jei patiko!
Jūsų dalijimasis ir paspaudimai „Patinka“ yra mūsų nuolatinė motyvacija!

 

发表 评论

Jūsų el. Pašto adresas nebus paskelbtas. Naudojami privalomi laukai * Etiketė

slinkite į viršų