MySQL datu bāzes indeksa tipa/izveides/izmantošanas kombinācija ALTER priekšraksta lietojums programmā MySQL

MySQLindeksa tipa/izveides/izmantošanas kombinācijas maiņaMySQLkomandu priekšraksta lietojums

MySQL indeksi

MySQL indeksa izveide ir ļoti svarīga efektīvai MySQL darbībai, un indekss var ievērojami uzlabot MySQL izguves ātrumu.

Piemēram, ja MySQL ar saprātīgu dizainu un indeksu izmantošanu ir Lamborghini, tad MySQL bez indeksiem un indeksiem ir cilvēka trīsritenis.

Indekss ir sadalīts vienas kolonnas indeksā un saliktajā indeksā.Vienas kolonnas indekss, tas ir, indekss satur tikai vienu kolonnu, tabulā var būt vairāki vienas kolonnas indeksi, taču tas nav salikts indekss.Salikts indekss, tas ir, viens indekss satur vairākas kolonnas.

Veidojot indeksu, jums ir jāpārliecinās, ka indekss ir nosacījums, kas attiecas uz SQL vaicājumu (parasti kā WHERE klauzulas nosacījums).

Faktiski indekss ir arī tabula, tabula saglabā primāro atslēgu un indeksa laukus un norāda uz entītijas tabulas ierakstiem.

Iepriekš minētais viss attiecas uz indeksu izmantošanas priekšrocībām, taču pārmērīga indeksu izmantošana novedīs pie ļaunprātīgas izmantošanas.Tāpēc indeksam būs arī savi trūkumi: lai gan indekss ievērojami uzlabo vaicājuma ātrumu, tas samazinās tabulas atjaunināšanas ātrumu, piemēram, INSERT, UPDATE un DELETE tabulā.Jo, atjauninot tabulu, MySQL ne tikai saglabā datus, bet arī saglabā indeksa failu.

Indeksa faila, kas patērē diska vietu, indeksēšana.


normāls indekss

izveidot indeksu

Šis ir visvienkāršākais rādītājs, tam nav ierobežojumu.To var izveidot šādos veidos:

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

Veidiem CHAR un VARCHAR garums var būt mazāks par lauka faktisko garumu; BLOB un TEXT tipiem garums ir jānorāda.

Mainīt tabulas struktūru (pievienot indeksu)

ALTER table tableName ADD INDEX indexName(columnName)

Norādiet tieši, veidojot tabulu

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

Sintakse indeksa nomešanai

DROP INDEX [indexName] ON mytable; 

unikāls indekss

Tas ir līdzīgs iepriekšējam parastajam indeksam, atšķirība ir: indeksa kolonnas vērtībai jābūt unikālai, bet nulles vērtības ir atļautas.Saliktā indeksa gadījumā kolonnu vērtību kombinācijai jābūt unikālai.To var izveidot šādos veidos:

izveidot indeksu

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

Mainīt tabulas struktūru

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

Norādiet tieši, veidojot tabulu

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

Pievienojiet un noņemiet indeksus, izmantojot komandu ALTER

Ir četri veidi, kā datu tabulai pievienot indeksu:

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): Šis paziņojums pievieno primāro atslēgu, kas nozīmē, ka indeksa vērtībām jābūt unikālām un tās nedrīkst būt NULL.
  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): Ar šo paziņojumu izveidotā indeksa vērtībai ir jābūt unikālai (izņemot NULL, NULL var parādīties vairākas reizes).
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list): Pievienojiet normālu indeksu, indeksa vērtība var parādīties vairākas reizes.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):Paziņojumā indekss ir norādīts kā FULLTEXT pilna teksta indeksēšanai.

Šis piemērs ir indeksa pievienošana tabulai.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Varat arī izmantot komandas ALTER klauzulu DROP, lai nomestu indeksus.Izmēģiniet šādu gadījumu, lai noņemtu indeksu:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Pievienojiet un noņemiet primārās atslēgas, izmantojot komandu ALTER

Primārā atslēga var darboties tikai vienā kolonnā. Pievienojot primārās atslēgas indeksu, jums ir jānodrošina, lai primārā atslēga pēc noklusējuma nebūtu NULL (NOT NULL).Piemēri ir šādi:

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

Varat arī izdzēst primāro atslēgu ar komandu ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Nometot primāro atslēgu, jānorāda tikai PRIMARY KEY, bet, nometot indeksu, ir jāzina indeksa nosaukums.


rādīt indeksa informāciju

Varat izmantot komandu SHOW INDEX, lai tabulā uzskaitītu atbilstošo indeksa informāciju.Izvades informāciju var formatēt, pievienojot \G.

Izmēģiniet tālāk norādītos piemērus.

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

Hope Chen Weiliang emuārs ( https://www.chenweiliang.com/ ).

Laipni lūdzam kopīgot šī raksta saiti:https://www.chenweiliang.com/cwl-496.html

Laipni lūdzam Chen Weiliang emuāra Telegram kanālā, lai saņemtu jaunākos atjauninājumus!

🔔 Esiet pirmais, kas kanāla augšējā direktorijā iegūst vērtīgo "ChatGPT satura mārketinga AI rīka lietošanas ceļvedi"! 🌟
📚 Šajā rokasgrāmatā ir milzīga vērtība, 🌟Šī ir reta iespēja, nepalaidiet to garām! ⏰⌛💨
Dalies un patīk, ja patīk!
Jūsu kopīgošana un atzīmes Patīk ir mūsu nepārtraukta motivācija!

 

发表 评论

Jūsu e-pasta adrese netiks publicēta. 必填 项 已 用 * Etiķete

ritiniet uz augšu