MySQL databasis indeks tipe/skep/gebruik kombinasie ALTER verklaring gebruik in MySQL

MySQLIndeks tipe/skep/gebruik kombinasie verander inMySQLGebruik van bevelstellings in

MySQL-indeks

Die vestiging van MySQL-indeks is baie belangrik vir die doeltreffende werking van MySQL.Die indeks kan die herwinningspoed van MySQL aansienlik verbeter.

Byvoorbeeld, as MySQL wat behoorlik ontwerp is en indekse gebruik 'n Lamborghini is, dan is MySQL wat nie ontwerp is nie en indekse gebruik 'n menslike driewiel.

Indekse word verdeel in enkelkolomindekse en gekombineerde indekse. 'n Enkelkolomindeks beteken dat 'n indeks slegs 'n enkele kolom bevat. 'n Tabel kan veelvuldige enkelkolomindekse hê, maar dit is nie 'n gekombineerde indeks nie. Gekombineerde indeks, dit wil sê, 'n indeks bevat veelvuldige kolomme.

Wanneer jy 'n indeks skep, moet jy verseker dat die indeks toegepas word op die voorwaardes van die SQL-navraagstelling (gewoonlik as 'n voorwaarde van die WHERE-klousule).

Trouens, die indeks is ook 'n tabel wat die primêre sleutel- en indeksvelde stoor en na die rekords van die entiteitstabel wys.

Die bogenoemde alles praat oor die voordele van die gebruik van indekse, maar oormatige gebruik van indekse sal misbruik veroorsaak. Daarom sal die indeks ook sy tekortkominge hê: alhoewel die indeks die navraagspoed aansienlik verbeter, sal dit ook die spoed van die opdatering van die tabel verminder, soos INSERT, UPDATE en DELETE op die tabel. Want wanneer die tabel opgedateer word, moet MySQL nie net die data stoor nie, maar ook die indekslêer stoor.

Indeksering van indekslêers neem skyfspasie op.


Gewone indeks

Skep indeks

Dit is die mees basiese indeks, dit het geen beperkings nie. Dit kan op die volgende maniere geskep word:

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

As dit CHAR, VARCHAR tipe is, kan lengte minder wees as die werklike lengte van die veld; as dit BLOB en TEXT tipe is, moet lengte gespesifiseer word.

Verander tabelstruktuur (voeg indeks by)

ALTER table tableName ADD INDEX indexName(columnName)

Spesifiseer dit direk wanneer die tabel geskep word

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

Sintaksis vir die verwydering van 'n indeks

DROP INDEX [indexName] ON mytable; 

unieke indeks

Dit is soortgelyk aan die vorige gewone indeks, behalwe dat die waarde van die indekskolom uniek moet wees, maar nulwaardes word toegelaat. In die geval van 'n saamgestelde indeks, moet die kombinasie van kolomwaardes uniek wees. Dit kan op die volgende maniere geskep word:

Skep indeks

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

Verander tabelstruktuur

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

Spesifiseer dit direk wanneer die tabel geskep word

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

Voeg indekse by en vee uit deur die ALTER-opdrag te gebruik

Daar is vier maniere om 'n indeks by 'n datatabel te voeg:

  • VERANDER TABEL tbl_name VOEG PRIMÊRE SLEUTEL VOEG (kolomlys): Hierdie stelling voeg 'n primêre sleutel by, wat beteken dat die indekswaarde uniek moet wees en nie NULL kan wees nie.
  • VERANDER TABEL tbl_name VOEG UNIEKE indeksnaam (kolom_lys) by: Die waarde van die indeks wat deur hierdie stelling geskep word, moet uniek wees (behalwe NULL, wat verskeie kere kan verskyn).
  • VERANDER TABEL tbl_name VOEG INDEKS indeksnaam by (kolomlys): Voeg 'n normale indeks by, en die indekswaarde kan verskeie kere verskyn.
  • VERANDER TABEL tbl_name VOEG VOLTEKS indeksnaam VOEG (kolomlys):Hierdie stelling spesifiseer die indeks as VOLTEKS, wat vir volteksindeksering gebruik word.

Die volgende voorbeeld voeg 'n indeks by die tabel.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Jy kan ook die DROP-klousule in die ALTER-opdrag gebruik om 'n indeks te laat val. Probeer die volgende voorbeeld om 'n indeks uit te vee:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Voeg primêre sleutels by en vee dit uit deur die ALTER-opdrag te gebruik

Die primêre sleutel kan slegs op een kolom optree. Wanneer 'n primêre sleutel-indeks bygevoeg word, moet jy verseker dat die primêre sleutel nie by verstek NULL is nie. Voorbeelde is soos volg:

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

U kan ook 'n primêre sleutel uitvee deur die ALTER-opdrag te gebruik:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Wanneer jy 'n primêre sleutel uitvee, hoef jy net die PRIMÊRE SLEUTEL te spesifiseer, maar wanneer jy 'n indeks uitvee, moet jy die indeksnaam ken.


Wys indeksinligting

Jy kan die SHOW INDEX-opdrag gebruik om verwante indeksinligting in 'n tabel te lys. Uitsetinligting kan geformateer word deur \G by te voeg.

Probeer die volgende voorbeelde:

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

Hoop Chen Weiliang Blog ( https://www.chenweiliang.com/ ) gedeel "MySQL databasis indeks tipe/skepping/gebruik kombinasie ALTER stelling gebruik in MySQL", wat nuttig is vir jou.

Welkom om die skakel van hierdie artikel te deel:https://www.chenweiliang.com/cwl-496.html

Welkom by die Telegram-kanaal van Chen Weiliang se blog om die nuutste opdaterings te kry!

🔔 Wees die eerste om die waardevolle "ChatGPT Content Marketing AI Tool Usage Guide" in die kanaal se topgids te kry! 🌟
📚 Hierdie gids bevat groot waarde, 🌟Dit is 'n seldsame geleentheid, moet dit nie misloop nie! ⏰⌛💨
Share en like as jy wil!
Jou deel en laaiks is ons voortdurende motivering!

 

发表 评论

U e-posadres sal nie gepubliseer word nie. Vereiste velde word gebruik * Etiket

blaai na bo