Cyfeiriadur Erthygl
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!
📚 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!