Tipo di indice del database MySQL/crea/usa la combinazione di utilizzo dell'istruzione ALTER in MySQL

MySQLtipo di indice/crea/usa combo alter inMySQLutilizzo dell'istruzione di comando

Indici MySQL

La creazione dell'indice MySQL è molto importante per il funzionamento efficiente di MySQL e l'indice può migliorare notevolmente la velocità di recupero di MySQL.

Ad esempio, se MySQL con un design ragionevole e l'uso di indici è una Lamborghini, allora MySQL senza indici e indici è un triciclo umano.

L'indice è diviso in indice a colonna singola e indice composito.Indice a colonna singola, ovvero un indice contiene solo una colonna singola, una tabella può avere più indici a colonna singola, ma questo non è un indice composito.Indice composito, ovvero un indice contiene più colonne.

Quando si crea un indice, è necessario assicurarsi che l'indice sia una condizione applicata alla query SQL (generalmente come condizione della clausola WHERE).

In effetti, un indice è anche una tabella che memorizza la chiave primaria e i campi dell'indice e punta ai record della tabella dell'entità.

Quanto sopra parla dei vantaggi dell'utilizzo degli indici, ma un uso eccessivo degli indici porterà ad abusi.Pertanto, anche l'indice avrà i suoi difetti: sebbene l'indice migliori notevolmente la velocità di query, ridurrà la velocità di aggiornamento della tabella, come INSERT, UPDATE e DELETE della tabella.Perché quando si aggiorna la tabella, MySQL non solo salva i dati, ma salva anche il file di indice.

Indicizzazione di un file di indice che consuma spazio su disco.


indice normale

creare indice

Questo è l'indice più elementare, non ha restrizioni.Può essere creato nei seguenti modi:

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

Per i tipi CHAR e VARCHAR, la lunghezza può essere inferiore alla lunghezza effettiva del campo; per i tipi BLOB e TEXT, è necessario specificare la lunghezza.

Modifica la struttura della tabella (aggiungi indice)

ALTER table tableName ADD INDEX indexName(columnName)

Specificare direttamente durante la creazione della tabella

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

Sintassi per eliminare un indice

DROP INDEX [indexName] ON mytable; 

indice univoco

È simile al precedente indice ordinario, la differenza è: il valore della colonna dell'indice deve essere univoco, ma sono ammessi valori nulli.Nel caso di un indice composto, la combinazione di valori di colonna deve essere univoca.Può essere creato nei seguenti modi:

creare indice

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

Modifica la struttura della tabella

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

Specificare direttamente durante la creazione della tabella

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

Aggiungi e rimuovi indici usando il comando ALTER

Esistono quattro modi per aggiungere un indice a una tabella di dati:

  • ALTER TABLE tbl_name ADD PRIMARY KEY (colonna_elenco): Questa istruzione aggiunge una chiave primaria, il che significa che i valori dell'indice devono essere univoci e non possono essere NULL.
  • ALTER TABLE nome_tbl ADD UNIQUE nome_indice (elenco_colonne): Il valore dell'indice creato da questa istruzione deve essere univoco (tranne NULL, NULL può apparire più volte).
  • ALTER TABLE nome_tbl ADD INDEX nome_indice (elenco_colonne): Aggiungi un indice normale, il valore dell'indice può apparire più volte.
  • ALTER TABLE nome_tbl ADD FULLTEXT nome_indice (elenco_colonne):L'istruzione specifica l'indice come FULLTEXT per l'indicizzazione full-text.

L'esempio seguente consiste nell'aggiungere un indice a una tabella.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

È inoltre possibile utilizzare la clausola DROP sul comando ALTER per eliminare gli indici.Prova la seguente istanza per eliminare l'indice:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Aggiungi e rimuovi chiavi primarie usando il comando ALTER

La chiave primaria può agire solo su una colonna.Quando si aggiunge un indice di chiave primaria, è necessario assicurarsi che la chiave primaria non sia NULL per impostazione predefinita (NON NULL).Gli esempi sono i seguenti:

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

Puoi anche eliminare una chiave primaria con il comando ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Devi solo specificare la CHIAVE PRIMARIA quando si elimina la chiave primaria, ma quando si elimina un indice, è necessario conoscere il nome dell'indice.


mostra le informazioni sull'indice

È possibile utilizzare il comando SHOW INDEX per elencare le informazioni relative all'indice nella tabella.Le informazioni di output possono essere formattate aggiungendo \G.

Prova i seguenti esempi:

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

Speranza Chen Weiliang Blog ( https://www.chenweiliang.com/ ) ha condiviso "Tipo di indice del database MySQL/Crea/Usa combinazione ALTER Uso dell'istruzione in MySQL", che è utile per te.

Benvenuti a condividere il link di questo articolo:https://www.chenweiliang.com/cwl-496.html

Benvenuto nel canale Telegram del blog di Chen Weiliang per ricevere gli ultimi aggiornamenti!

🔔 Sii il primo a ricevere la preziosa "Guida all'utilizzo dello strumento AI di marketing dei contenuti ChatGPT" nella directory principale del canale! 🌟
📚 Questa guida contiene un valore enorme, 🌟Questa è un'opportunità rara, non perderla! ⏰⌛💨
Condividi e metti mi piace se ti va!
La tua condivisione e i tuoi like sono la nostra continua motivazione!

 

发表 评论

L'indirizzo email non verrà pubblicato. 必填 项 已 用 * 标注

滚动 到 顶部