CREATE INDEX
Un indice aiuta a trovare le righe
Sezione intitolata “Un indice aiuta a trovare le righe”Un indice aiuta il database a trovare più rapidamente certe righe. Senza indice, il database può dover leggere molti dati. Con un indice adatto, può restringere la ricerca.
Immagina un libro di 800 pagine. Se cerchi la parola “spedizione” senza indice, devi sfogliarlo tutto; con l’indice vai alle pagine pertinenti.
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ò leggere l’indice invece di controllare tutte le righe.
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 hanno un costo. Occupano spazio e possono rallentare inserimenti, aggiornamenti ed eliminazioni.
Per questo non conviene indicizzare ogni colonna: vanno scelti gli indici utili alle query reali.