Filtered Indexes
Con SQL Server 2008 fanno il loro debutto gli indici e le statistiche filtrare; sono le strutture che conosciamo già, a cui però viene applicato un criterio di filtro. In questo articolo parleremo degli indici filtrati cercando di capire quando la loro applicazione può migliorare le performance delle query.
Il comando CREATE INDEX può ora accettare la clausola WHERE utilizzata per specificare il criterio di filtro.
Consideriamo, ad esempio, un indice standard definito su due colonne di una tabella (col_1 e col_2), l’ultimo livello (foglia) contiene la combinazione dei valori presenti nelle due colonne. Diversamente, se specifichiamo un criterio nella clausola WHERE del comando CREATE INDEX, per selezionare solo alcuni valori di una colonna, (ad esempio col_1 > 10) le righe che non soddisfano il criterio verranno ignorate, proprio durante la costruzione dell’indice, a prescindere dal valore contenuto nella seconda colonna. Il risultato è una struttura B-Tree più piccola in cui l’ultimo livello (foglia) contiene soltanto i dati che verificano il criterio specificato.

