Come faccio a sapere quali consigli sugli indici di SQL Server 2005 implementare, se presenti?

StackOverflow https://stackoverflow.com/questions/3975

  •  08-06-2019
  •  | 
  •  

Domanda

Stiamo aggiornando una delle nostre istanze di SQL Server dal 2000 al 2005.Ho installato il dashboard delle prestazioni (http://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=en) per accedere ad alcune relazioni di alto livello.Uno dei report mostra indici mancanti (consigliati).Penso che sia basato su una visualizzazione del sistema gestita da Query Optimizer.

La mia domanda è: qual è il modo migliore per determinare quando accettare una raccomandazione sull'indice.So che non ha senso applicare tutti i suggerimenti dell'ottimizzatore.Vedo molti consigli che sostanzialmente dicono di provare l'indice e di mantenerlo se le prestazioni migliorano e di abbandonarlo se le prestazioni peggiorano o rimangono le stesse.Mi chiedo se esista un modo migliore per prendere una decisione e quali migliori pratiche esistano su questo argomento.

È stato utile?

Soluzione

La prima cosa di cui essere consapevoli:

Quando esegui l'aggiornamento dalla versione 2000 alla versione 2005 (utilizzando stacca e collega) assicurati di:

  1. Imposta la compatibilità su 90
  2. Ricostruire gli indici
  3. Esegui le statistiche di aggiornamento con la scansione completa

Se non lo fai, otterrai piani non ottimali.

Se la tabella è per lo più scritta, si desidera il minor numero possibile di indici se la tabella viene utilizzata per molte domande di lettura, è necessario assicurarsi che la clausola Where sia coperta da indici.

Altri suggerimenti

Il consiglio che hai ricevuto è giusto.Provateli tutti, uno per uno.

Non esiste alcun sostituto al test quando si tratta di prestazioni.Finché non lo provi, non hai fatto nulla.

Fai del tuo meglio ricercando il tipo più comune di query che si verificano sul tuo database e creando indici basati su tale ricerca.

Ad esempio, se c'è una tabella che memorizza le visite del sito web, che viene scritta molto spesso ma che difficilmente viene letta.Quindi non indicizzare la tabella.

Se tuttavia disponi di un elenco di utenti a cui si accede più spesso di quanto viene scritto, creerei innanzitutto un indice cluster sulla colonna a cui si accede maggiormente, in genere la chiave primaria.Vorrei quindi creare un indice sulle colonne di ricerca comunemente utilizzate e su quelle utilizzate in ordine per clausole.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top