Introduzione
MySQL è un'applicazione di database che organizza i dati in tabelle, che a loro volta hanno valori organizzati in righe e colonne. In MySQL, un indice è una struttura dati che rende le informazioni più ricercabili.
Senza un indice, MySQL legge l'intera tabella per trovare la riga richiesta ed è molto inefficiente.
Questa guida ti mostrerà come creare un indice in MySQL usando CREATE INDEX
dichiarazione.
Prerequisiti
- Un'installazione MySQL esistente
- Un account utente MySQL con root o amministratore privilegi
- Accesso a una riga di comando/finestra del terminale:
- In Linux, fai clic su Attività> Cerca> Terminale
- In Windows, fai clic con il pulsante destro del mouse su Start> Riga di comando (o Windows PowerShell)
MySQL Crea Sintassi Indice
Un CREATE INDEX
l'istruzione in MySQL utilizza il seguente formato:
mysql> CREATE INDEX [some_index] ON [some_table] ([some_column],[other_column]);
some_index
– Il nome dell'indicesome_table
– Il nome della tabella con le colonne indicizzatesome_column, other_column
– I nomi delle colonne da indicizzare
MySQL Crea indice in una nuova tabella
Per creare un indice contemporaneamente viene creata la tabella in MySQL:
1. Apri una finestra di terminale e accedi alla shell MySQL.
mysql -u username -p
2. Crea e passa a un nuovo database immettendo il seguente comando:
mysql> CREATE DATABASE mytest;
Query OK, 1 row affected (0.01 sec)
mysql; USE mytest;
Database changed
3. Quindi, crea colonne nella tabella e indicizzale:
mysql> CREATE TABLE example (
col1 INT PRIMARY KEY,
col2 INT NOT NULL,
col3 INT NOT NULL,
col4 VARCHAR(20),
INDEX (col2, col3)
);
Il comando crea una tabella denominata esempio , lo popola con 4 colonne e aggiunge gli indici per la colonna 2 e la colonna 3.
4. Successivamente, visualizza un elenco degli indici dalla tabella:
mysql; SHOW INDEXES FROM example;
Dovresti vedere un indice per PRIMARY, COL2 e COL3. Anche se PRIMARY non è stato specificato, MySQL ha creato automaticamente un indice per la chiave primaria.
Aggiungi indice alla tabella MySQL esistente
Le best practice di MySQL consigliano di creare un indice contemporaneamente alla creazione della tabella. Tuttavia, un indice può anche essere aggiunto a una tabella esistente. Le istruzioni seguenti spiegano come aggiungere un indice a una tabella MySQL esistente.
1. Crea una nuova tabella immettendo il seguente comando:
mysql> CREATE TABLE example2 (
col1 INT PRIMARY KEY,
col2 VARCHAR(20),
col3 VARCHAR(20),
col4 VARCHAR(20)
);
Query OK, 0 rows affected (0.25 sec)
2. Successivamente, mostra l'indice corrente per esempio2 :
mysql> SHOW INDEXES FROM example2;
Il sistema dovrebbe visualizzare un singolo indice per la chiave primaria.
3. Successivamente, aggiungi un indice per col2 e col3 immettendo il seguente comando:
mysql> CREATE INDEX index1 ON example2 (col2,col3);
4. Visualizza gli indici per esempio2 :
mysql> SHOW INDEXES FROM example2;
Il sistema dovrebbe ora visualizzare l'indice della chiave primaria, più col2 e col3 elencati in index1 .