Domanda

Esecuzione di Microsoft SQL Server Profiler di tanto in tanto, mi suggerisce con un gruppo di nuovi indici e statistiche per creare ( "... il 97% di miglioramento stimato ...").

Dalla mia comprensione ogni indice aggiunto può fare una query SQL SELECT più veloce, ma anche una query UPDATE o INSERT più lento in quanto gli indici devono essere regolati.

Quello che mi chiedo è, quando devo "troppi" indici / statistiche?

Forse non c'è una risposta chiara su questo, ma qualche regola empirica.

È stato utile?

Soluzione

Il tuo profilo di carico è il fattore più importante per rispondere a questa domanda.

  • Se il carico è-lettura intensiva, si vuole indici per soddisfare le vostre richieste più pesanti o più frequenti.

  • Se il carico è ad alta intensità di scrittura, indice di attenzione. Indice di soddisfare un bisogno cercare un UPDATE, per esempio, così come il vostro uno o due SELECT più costose.

  • Se il carico è un OLAP uno, indice di parsimonia dal momento che sarà la scansione delle tabelle di destinazione in ogni caso.

Come fai a sapere di avere troppi indici?

  • Quando si può vedere che alcuni di loro non sono utilizzati di qualsiasi domanda.

  • A DELETE, UPDATE o INSERISCI mostra un piano di query frequente che coinvolge più variazioni dell'indice costoso (cioè un indice non cluster Inserisci , update , o delete). Usa il tuo giudizio per determinare se la pena su quelle istruzioni DML vale il guadagno che si stanno ottenendo dagli indici che devono essere aggiornati.

Altri suggerimenti

Se si dispone di indici che vengono mantenuti, ma non vengono mai utilizzati (o sono raramente utilizzati) poi si deve a molti indici. Se tutti gli indici vengono utilizzati per migliorare le prestazioni degli utenti, allora non c'è bisogno di molti.

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