Math mynegai cronfa ddata MySQL/creu/defnyddio cyfuniad defnydd datganiad ALTER yn MySQL

MySQLmath o fynegai/creu/defnyddio cyfun newid i mewnMySQLdefnydd datganiad gorchymyn

Mynegeion MySQL

Mae sefydlu mynegai MySQL yn bwysig iawn ar gyfer gweithrediad effeithlon MySQL, a gall y mynegai wella cyflymder adfer MySQL yn fawr.

Er enghraifft, os yw MySQL gyda dyluniad rhesymol a defnydd o fynegeion yn Lamborghini, yna mae MySQL heb fynegeion a mynegeion yn feic tair olwyn dynol.

Rhennir y mynegai yn fynegai un golofn a mynegai cyfansawdd.Mynegai colofn sengl, hynny yw, mae mynegai yn cynnwys un golofn yn unig, gall tabl fod â mynegeion un golofn lluosog, ond nid yw hwn yn fynegai cyfansawdd.Mynegai cyfansawdd, hynny yw, mae mynegai yn cynnwys colofnau lluosog.

Wrth greu mynegai, mae angen i chi sicrhau bod y mynegai yn amod a gymhwysir i'r ymholiad SQL (yn gyffredinol fel amod o'r cymal WHERE).

Mewn gwirionedd, mae'r mynegai hefyd yn dabl, mae'r tabl yn arbed y meysydd allweddol a mynegai cynradd, ac yn pwyntio at gofnodion y tabl endid.

Mae'r uchod yn sôn am fanteision defnyddio mynegeion, ond bydd defnydd gormodol o fynegeion yn arwain at gamddefnydd.Felly, bydd gan y mynegai ei ddiffygion hefyd: er bod y mynegai yn gwella'r cyflymder ymholiad yn fawr, bydd yn lleihau cyflymder diweddaru'r tabl, megis MEWNOSOD, DIWEDDARIAD a DELETE y tabl.Oherwydd wrth ddiweddaru'r tabl, mae MySQL nid yn unig yn arbed y data, ond hefyd yn arbed y ffeil mynegai.

Mynegeio ffeil mynegai sy'n defnyddio gofod disg.


mynegai arferol

creu mynegai

Dyma'r mynegai mwyaf sylfaenol, nid oes ganddo unrhyw gyfyngiadau.Gellir ei greu yn y ffyrdd canlynol:

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

Ar gyfer mathau CHAR a VARCHAR, gall hyd fod yn llai na hyd gwirioneddol y cae; ar gyfer mathau BLOB a TESTUN, rhaid nodi hyd.

Addasu strwythur tabl (ychwanegu mynegai)

ALTER table tableName ADD INDEX indexName(columnName)

Nodwch yn uniongyrchol wrth greu'r tabl

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

Cystrawen i ollwng mynegai

DROP INDEX [indexName] ON mytable; 

mynegai unigryw

Mae'n debyg i'r mynegai cyffredin blaenorol, y gwahaniaeth yw: rhaid i werth y golofn mynegai fod yn unigryw, ond caniateir gwerthoedd null.Yn achos mynegai cyfansawdd, rhaid i'r cyfuniad o werthoedd colofn fod yn unigryw.Gellir ei greu yn y ffyrdd canlynol:

creu mynegai

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

Addasu strwythur tabl

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

Nodwch yn uniongyrchol wrth greu'r tabl

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

Ychwanegu a dileu mynegeion gan ddefnyddio'r gorchymyn ALTER

Mae pedair ffordd o ychwanegu mynegai at dabl data:

  • ALTER TABLE tbl_name YCHWANEGU ALLWEDD CYNRADD (colofn_rhestr): Mae'r datganiad hwn yn ychwanegu allwedd gynradd, sy'n golygu bod yn rhaid i werthoedd mynegai fod yn unigryw ac ni allant fod yn NULL.
  • ALTER TABLE tbl_name ADD UNIQUE index_name (colofn_rhestr): Rhaid i werth y mynegai a grëir gan y datganiad hwn fod yn unigryw (ac eithrio NULL, gall NULL ymddangos sawl gwaith).
  • ALTER TABLE tbl_name ADD INDEX index_name (colofn_rhestr): Ychwanegu mynegai arferol, gall y gwerth mynegai ymddangos sawl gwaith.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (colofn_rhestr):Mae'r datganiad yn nodi'r mynegai fel TESTUN LLAWN ar gyfer mynegeio testun llawn.

Yr enghraifft ganlynol yw ychwanegu mynegai at dabl.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Gallwch hefyd ddefnyddio'r cymal DROP ar y gorchymyn ALTER i ollwng mynegeion.Rhowch gynnig ar yr enghraifft ganlynol i ollwng y mynegai:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Ychwanegu a thynnu bysellau cynradd gan ddefnyddio'r gorchymyn ALTER

Dim ond ar un golofn y gall yr allwedd gynradd weithredu. Wrth ychwanegu prif fynegai bysell, mae angen i chi sicrhau nad yw'r allwedd gynradd yn NULL yn ddiofyn (NID NULL).Mae enghreifftiau fel a ganlyn:

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

Gallwch hefyd ddileu allwedd gynradd gyda'r gorchymyn ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Nid oes ond angen i chi nodi'r ALLWEDD CYNRADD wrth ollwng y bysell gynradd, ond wrth ollwng mynegai, rhaid i chi wybod enw'r mynegai.


dangos gwybodaeth mynegai

Gallwch ddefnyddio'r gorchymyn SHOW INDEX i restru'r wybodaeth fynegai berthnasol yn y tabl.Gellir fformatio'r wybodaeth allbwn trwy ychwanegu \G.

Rhowch gynnig ar yr enghreifftiau canlynol:

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

Blog Chen Weiliang Gobeithio ( https://www.chenweiliang.com/ ) a rennir "Math o Fynegai Cronfa Ddata MySQL / Creu / Defnydd Cyfuniad ALTER Datganiad Defnydd yn MySQL", sy'n ddefnyddiol i chi.

Croeso i chi rannu dolen yr erthygl hon:https://www.chenweiliang.com/cwl-496.html

Croeso i sianel Telegram o blog Chen Weiliang i gael y diweddariadau diweddaraf!

🔔 Byddwch y cyntaf i gael y "Canllaw Defnydd Offer AI Marchnata Cynnwys ChatGPT" gwerthfawr yng nghyfeiriadur uchaf y sianel! 🌟
📚 Mae'r canllaw hwn yn cynnwys gwerth enfawr, 🌟Mae hwn yn gyfle prin, peidiwch â'i golli! ⏰⌛💨
Rhannwch a hoffwch os hoffech chi!
Eich rhannu a'ch hoff bethau yw ein cymhelliant parhaus!

 

发表 评论

Ni fydd eich cyfeiriad e-bost yn cael ei gyhoeddi. 必填 项 已 用 * Label

sgroliwch i'r brig