Salta ai contenuti
Manuale LogoManuale Logo

CREATE INDEX

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.

Questa istruzione crea un indice sulla colonna email della tabella clienti:

CREATE INDEX idx_clienti_email
ON clienti(email);

Da quel momento, una ricerca per email può leggere l’indice invece di controllare tutte le righe.

SELECT nome
FROM clienti
WHERE email = 'luca@email.it';

Gli indici sono utili soprattutto su colonne che usi spesso per:

  • filtrare con WHERE
  • ordinare con ORDER BY
  • collegare tabelle nelle join

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.