Può indici filtrati contribuire a migliorare le query che si basano su un tempo inserito o questo dovrebbe essere evitato?

dba.stackexchange https://dba.stackexchange.com/questions/447

Domanda

sto solo conoscere i nuovi indici filtrati in MS SQL 2008 e sto cercando di capire dove avrebbero fatto male e dove si sarebbe di aiuto.

posso vedere che l'aggiunta di un indice filtrato a una tabella dipendenti per indicizzare solo i dipendenti attuali sarebbe una buona idea.

Ma per quanto riguarda l'applicazione di un paio di filtrato indici per un grande tavolo in base al tempo. Ad esempio, dire che ho una tabella che ha una data di campo enteredOn / ora e il tavolo ha molti anni di dati. Se le query sono in genere fatto in base alla data e qualche altro campo, come enteredby sarebbe bene avere un paio di indici filtrati che hanno un cui limitare l'indice per un periodo clausola? Nel mio esempio la query sarebbe qualcosa di simile

select enteredOn, Description, ...
from myTable
where enteredOn > '2011/01/01' and enteredBy = "My, User"

Sarebbe avendo un indice filtrato per ogni anno sia ragionevole o sarebbe quella causa a gran parte un problema quando il sottostante è stato interrogato per invece?

select enteredOn, Description, ...
from myTable
where enteredOn > '2009/06/01' and eneteredOn < '2010/06/01' and enteredBy = "My, User"
È stato utile?

Soluzione

BitOff,

Dipende da alcuni fattori, non c'è una risposta per ogni scenario. Ad esempio, si può decidere di partizione e archiviare alcuni vecchi dati su un set dedicato di dischi becvause vi si accede di rado. Dubito si prenderebbe in considerazione lo scambio di tale partizione una per un indice filtrato. E dubito che si desidera creare una partizione per tutti i valori di NULL in una colonna specifica invece di utilizzare un indice filtrato.

Si dovrebbe leggere il partizionamento whitepaper da Kimberley Tripp all'indirizzo http://msdn.microsoft.com/en-us/library/ms345146%28v=sql.90%29.aspx , e le linee guida di progettazione indice filtrato trovato alla http://technet.microsoft.com/en-us/library/cc280372.aspx .

Queste due collegamenti dovrebbe aiutare a punto nella giusta direzione per quanto riguarda tutte le considerazioni di progettazione è necessario prendere in considerazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top