CREATE INDEX
Un indice è come l’indice finale di un libro
Sezione intitolata “Un indice è come l’indice finale di un libro”Un indice aiuta il database a trovare più rapidamente certe righe. Senza indice, a volte il database deve scorrere tantissimo contenuto. Con un buon indice, il percorso può diventare molto più rapido.
Immagina un libro di 800 pagine. Se cerchi la parola “spedizione” senza indice, sfogli tutto. Con un indice, vai quasi subito alle pagine giuste.
Nel database succede qualcosa di simile.
Un esempio piccolo
Sezione intitolata “Un esempio piccolo”Questa istruzione crea un indice sulla colonna email della tabella clienti:
CREATE INDEX idx_clienti_emailON clienti(email);Da quel momento, una ricerca per email può diventare più veloce.
SELECT nomeFROM clientiWHERE email = 'luca@email.it';Quando ha senso aggiungerlo
Sezione intitolata “Quando ha senso aggiungerlo”Gli indici sono utili soprattutto su colonne che usi spesso per:
- filtrare con
WHERE - ordinare con
ORDER BY - collegare tabelle nelle join
Il compromesso da ricordare
Sezione intitolata “Il compromesso da ricordare”Gli indici accelerano alcune letture, ma non sono gratis. Occupano spazio e possono rallentare un po’ inserimenti, aggiornamenti ed eliminazioni.
Per questo non si indicizza tutto a caso. Si indicizza ciò che serve davvero.