Tipu d'indici di basa di dati MySQL / crea / usa a combinazione ALTER usu di dichjarazione in MySQL

MySQLtipu d'indice / creà / aduprà combo altera inMySQLusu di dichjarazione di cumandamentu

Indici MySQL

U stabilimentu di l'indici MySQL hè assai impurtante per u funziunamentu efficiente di MySQL, è l'indici pò migliurà assai a veloce di ricuperazione di MySQL.

Per esempiu, se MySQL cun un disignu raghjone è l'usu di l'indici hè una Lamborghini, allura MySQL senza indici è indici hè un triciclu umanu.

L'indexu hè divisu in un indice à una sola colonna è un indice cumpostu.Indice di una sola colonna, vale à dì, un indexu cuntene solu una sola colonna, una tavula pò avè parechje indici di una sola colonna, ma questu ùn hè micca un indice cumpostu.Indice cumpostu, vale à dì, un indice cuntene parechje colonne.

Quandu crea un indice, avete bisognu di assicurà chì l'indici hè una cundizione chì s'applica à a query SQL (in solitu cum'è una cundizione di a clause WHERE).

In fattu, l'indici hè ancu una tavula, a tavula salva a chjave primaria è i campi d'indici, è punta à i registri di a tavola di l'entità.

I sopratuttu parranu di i benefici di l'usu di l'indici, ma l'usu eccessivu di l'indici portanu à l'abusu.Dunque, l'indici avarà ancu i so difetti: ancu s'ellu l'indici migliurà assai a velocità di a dumanda, riducerà a velocità di l'aghjurnamentu di a tavola, cum'è INSERT, UPDATE è DELETE di a tavola.Perchè quandu aghjurnà a tavula, MySQL ùn solu salva i dati, ma ancu salva u schedariu index.

Indexazione di un schedariu d'indici chì cunsuma u spaziu di discu.


indice normale

creà un indice

Questu hè l'indice più basicu, ùn hà micca restrizioni.Pò esse creatu in i seguenti modi:

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

Per i tipi CHAR è VARCHAR, a lunghezza pò esse menu di a lunghezza attuale di u campu; per i tipi BLOB è TEXT, a lunghezza deve esse specificata.

Mudificà a struttura di a tavula (aghjunghje indice)

ALTER table tableName ADD INDEX indexName(columnName)

Specificà direttamente quandu crea a tavola

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

Sintaxi per abbandunà un indice

DROP INDEX [indexName] ON mytable; 

indice unique

Hè simile à l'indici ordinariu precedente, a diferenza hè: u valore di a colonna d'indici deve esse unicu, ma i valori nulli sò permessi.In u casu di un indice cumpostu, a cumminazzioni di valori di colonna deve esse unica.Pò esse creatu in i seguenti modi:

creà un indice

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

Mudificà a struttura di a tavola

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

Specificà direttamente quandu crea a tavola

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

Aghjunghjite è sguassate l'indici cù u cumandimu ALTER

Ci hè quattru modi per aghjunghje un indice à una tabella di dati:

  • ALTER TABLE tbl_name ADD PRIMARY KEY (lista_colonna): Questa dichjarazione aghjunghje una chjave primaria, chì significa chì i valori d'indici deve esse unichi è ùn ponu esse NULL.
  • ALTER TABLE tbl_name ADD UNIQUE index_name (lista_colonna): U valore di l'indici creatu da sta dichjarazione deve esse unicu (eccettu NULL, NULL pò esse parechje volte).
  • ALTER TABLE nome_tbl ADD INDEX nome_indice (lista_colonna): Aghjunghjite un indice normale, u valore di l'indice pò esse parechje volte.
  • ALTER TABLE nome_tbl ADD FULLTEXT nome_indice (lista_colonna):A dichjarazione specifica l'indici cum'è FULLTEXT per l'indexazione full-text.

L'esempiu seguente hè di aghjunghje un indice à una tavula.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Pudete ancu aduprà a clausula DROP in u cumandimu ALTER per abbandunà l'indici.Pruvate l'esempiu seguente per abbandunà l'indici:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Aghjunghjite è sguassate i chjavi primari cù u cumandimu ALTER

A chjave primaria pò agisce solu nantu à una colonna. Quandu aghjunghje un indice di chjave primaria, avete bisognu di assicurà chì a chjave primaria ùn hè micca NULL per difettu (NOT NULL).Esempii sò i seguenti:

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

Pudete ancu sguassà una chjave primaria cù u cumandimu ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Solu bisognu di specificà a CHIAVE PRIMARIA quandu abbandunà a chjave primaria, ma quandu abbandunà un indice, deve cunnosce u nome di l'indici.


mostra l'infurmazione di l'indice

Pudete aduprà u cumandimu SHOW INDEX per listà l'infurmazioni pertinenti di l'indici in a tavula.L'infurmazione di output pò esse furmatu aghjunghjendu \G.

Pruvate i seguenti esempi:

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

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) hà spartutu "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL", chì hè utile per voi.

Benvenuti à sparte u ligame di stu articulu:https://www.chenweiliang.com/cwl-496.html

Benvenuti à u canali Telegram di u blog di Chen Weiliang per avè l'ultime aghjurnamenti!

🔔 Siate u primu à uttene a preziosa "Guida d'Utilisazione di l'Utili di l'AI di Marketing di cuntenutu ChatGPT" in u cartulare di u canali! 🌟
📚 Questa guida cuntene un valore enormu, 🌟Questa hè una rara opportunità, ùn mancate micca! ⏰⌛💨
Condividi è mi piace se ti piace!
A vostra spartera è Mi piace sò a nostra motivazione cuntinua!

 

发表 评论

U vostru indirizzu email ùn serà micca publicatu. I campi richiesti sò aduprati * Etichetta

scorri in cima