Rakstu katalogs
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!
📚 Š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!