SQLindici


introduzione

Gli indici sono una struttura dati che contiene puntatori ai contenuti di una tabella disposti in un ordine specifico, per aiutare il database a ottimizzare le query. Sono simili all'indice del libro, dove le pagine (righe della tabella) sono indicizzate dal loro numero di pagina.

Esistono diversi tipi di indici e possono essere creati su una tabella. Quando un indice esiste sulle colonne utilizzate nella clausola WHERE di una query, clausola JOIN o clausola ORDER BY, può migliorare sostanzialmente le prestazioni della query.

Osservazioni

Gli indici sono un modo per accelerare le query di lettura ordinando le righe di una tabella in base a una colonna.

L'effetto di un indice non è evidente per i piccoli database come nell'esempio, ma se c'è un numero elevato di righe, può migliorare notevolmente le prestazioni. Invece di controllare ogni riga della tabella, il server può eseguire una ricerca binaria sull'indice.

Il compromesso per la creazione di un indice è la velocità di scrittura e la dimensione del database. La memorizzazione dell'indice richiede spazio. Inoltre, ogni volta che viene eseguito un INSERT o la colonna viene aggiornata, l'indice deve essere aggiornato. Questa operazione non è costosa quanto la scansione dell'intera tabella su una query SELECT, ma è ancora qualcosa da tenere a mente.

indici Esempi correlati