Ang tipo sa indeks sa database sa MySQL / paghimo / paggamit sa kombinasyon ALTER paggamit sa pahayag sa MySQL

MySQLindex type / paghimo / paggamit combo alter inMySQLpaggamit sa command statement

Mga indeks sa MySQL

Ang pagtukod sa MySQL index importante kaayo alang sa episyente nga operasyon sa MySQL, ug ang indeks makapauswag pag-ayo sa retrieval speed sa MySQL.

Pananglitan, kung ang MySQL nga adunay makatarunganon nga disenyo ug paggamit sa mga indeks usa ka Lamborghini, nan ang MySQL nga walay mga indeks ug mga indeks usa ka tricycle sa tawo.

Ang indeks gibahin sa usa ka kolum nga indeks ug komposit nga indeks.Single-column index, nga mao, ang usa ka index naglangkob lamang sa usa ka column, ang usa ka lamesa mahimong adunay daghang single-column index, apan kini dili usa ka composite index.Composite index, nga mao, ang usa ka index adunay daghang mga kolum.

Kung maghimo ug indeks, kinahanglan nimong siguroon nga ang indeks usa ka kondisyon nga magamit sa pangutana sa SQL (kasagaran ingon usa ka kondisyon sa WHERE clause).

Sa tinuud, ang indeks usa usab ka lamesa, ang lamesa nagtipig sa panguna nga yawe ug mga natad sa indeks, ug nagpunting sa mga rekord sa lamesa sa entidad.

Ang sa ibabaw naghisgot bahin sa mga benepisyo sa paggamit sa mga indeks, apan ang sobra nga paggamit sa mga indeks mosangpot sa pag-abuso.Busa, ang indeks adunay usab mga kakulangan: bisan kung ang indeks labi nga nagpauswag sa katulin sa pangutana, kini makapakunhod sa katulin sa pag-update sa lamesa, sama sa INSERT, UPDATE ug DELETE sa lamesa.Tungod kay kung gi-update ang lamesa, ang MySQL dili lamang nagtipig sa datos, apan nagtipig usab sa index file.

Pag-indeks sa usa ka index file nga naggamit sa disk space.


normal nga indeks

paghimo index

Kini ang labing sukaranan nga indeks, wala kini mga pagdili.Mahimo kini sa mosunod nga mga paagi:

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

Para sa mga tipo sa CHAR ug VARCHAR, ang gitas-on mahimong mas mubu sa aktuwal nga gitas-on sa field; para sa mga tipo sa BLOB ug TEXT, ang gitas-on kinahanglang itakda.

Usba ang istruktura sa lamesa (idugang ang indeks)

ALTER table tableName ADD INDEX indexName(columnName)

Ipiho direkta sa paghimo sa lamesa

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

Syntax aron ihulog ang usa ka indeks

DROP INDEX [indexName] ON mytable; 

talagsaon nga indeks

Kini susama sa miaging ordinaryo nga index, ang kalainan mao ang: ang bili sa index kolum kinahanglan nga talagsaon, apan null bili gitugotan.Sa kaso sa usa ka composite index, ang kombinasyon sa mga kantidad sa kolum kinahanglan nga talagsaon.Mahimo kini sa mosunod nga mga paagi:

paghimo index

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

Usba ang istruktura sa lamesa

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

Ipiho direkta sa paghimo sa lamesa

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

Idugang ug kuhaa ang mga indeks gamit ang ALTER command

Adunay upat ka mga paagi sa pagdugang usa ka indeks sa usa ka lamesa sa datos:

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): Kini nga pahayag nagdugang usa ka panguna nga yawe, nga nagpasabut nga ang mga kantidad sa indeks kinahanglan nga talagsaon ug dili mahimong NULL.
  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): Ang bili sa index nga gihimo niini nga pahayag kinahanglan nga talagsaon (gawas sa NULL, NULL mahimong makita sa daghang mga higayon).
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list): Pagdugang usa ka normal nga indeks, ang kantidad sa indeks mahimong makita daghang beses.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):Ang pahayag nagtino sa indeks isip FULLTEXT para sa full-text indexing.

Ang mosunod nga pananglitan mao ang pagdugang og indeks sa usa ka lamesa.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Mahimo usab nimo gamiton ang DROP clause sa ALTER command aron ihulog ang mga indeks.Sulayi ang mosunod nga pananglitan aron ihulog ang indeks:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Idugang ug kuhaa ang mga nag-unang yawe gamit ang ALTER nga sugo

Ang panguna nga yawe mahimo ra molihok sa usa ka kolum. Kung magdugang usa ka indeks nga panguna nga yawe, kinahanglan nimo nga sigurohon nga ang panguna nga yawe dili NULL pinaagi sa default (DILI NULL).Ang mga pananglitan mao ang mosunod:

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

Mahimo usab nimong papason ang usa ka panguna nga yawe gamit ang ALTER nga mando:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Kinahanglan ra nimo nga ipiho ang PRIMARY KEY kung ihulog ang panguna nga yawe, apan kung gihulog ang usa ka indeks, kinahanglan nimo mahibal-an ang ngalan sa indeks.


ipakita ang impormasyon sa indeks

Mahimo nimong gamiton ang SHOW INDEX nga sugo aron ilista ang may kalabutan nga impormasyon sa indeks sa lamesa.Ang impormasyon sa output mahimong maporma pinaagi sa pagdugang \G.

Sulayi ang mosunod nga mga pananglitan:

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

Paglaum Chen Weiliang Blog ( https://www.chenweiliang.com/ ) mipaambit sa "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL", nga makatabang kanimo.

Welcome sa pagpaambit sa link niini nga artikulo:https://www.chenweiliang.com/cwl-496.html

Malipayon nga pag-abut sa channel sa Telegram sa blog ni Chen Weiliang aron makuha ang labing bag-ong mga update!

🔔 Mahimong una nga makakuha sa bililhon nga "ChatGPT Content Marketing AI Tool Usage Guide" sa direktoryo sa taas nga channel! 🌟
📚 Kini nga giya adunay daghang kantidad, 🌟Kini usa ka talagsaon nga oportunidad, ayaw palabya ​​kini! ⏰⌛💨
Share ug like kung ganahan ka!
Ang imong pagpaambit ug pag-like mao ang among padayon nga kadasig!

 

发表 评论

Ang imong email address dili mapatik. Gigamit ang mga kinahanglanon nga uma * Label

scroll sa ibabaw