SQL Server: unused index

indici non utilizzati

Il moltiplicarsi di indici nonclustered può essere una delle cause del deterioramento delle performance di un database. Ancor più grave sarebbe il caso in cui tali indici non siano nemmeno utilizzati: può darsi ad esempio che alcuni indici erano stati creati ad hoc per query che non vengono più eseguite. In altri casi, come nell’esempio in basso, a causa del costo delle operazioni di Key o RID lookup, il piano di esecuzione potrebbe decidere di ignorare la presenza di un indice nonclustered e di eseguire comunque uno scan completo della tabella.

indici non utilizzati

Individuare l’esistenza di indici non utilizzati è uno step fondamentale per monitorare le performance di un database. Un analisi sull’utilizzo degli indici può partire combinando opportunamente alcune viste di sistema come la sys.index e la DMO (dynamic management objects)  sys.dm_db_index_usage_stats

 

Articoli correlati

Leggi l’articolo su come creare un filtered index per migliorare le performance di una query e il consumo di memoria.

Torna su