2008-08-06 7 views
6

Nous sommes en train de mettre à niveau une de nos instances SQL Server de 2000 à 2005. J'ai installé le tableau de bord des performances (http://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=en) pour accéder à des rapports de haut niveau. L'un des rapports affiche les index manquants (recommandés). Je pense qu'il est basé sur une vue système qui est gérée par l'optimiseur de requête.Comment connaître les recommandations d'index SQL Server 2005 à implémenter, le cas échéant?

Ma question est quelle est la meilleure façon de déterminer quand prendre une recommandation d'index. Je sais que cela n'a aucun sens d'appliquer toutes les suggestions de l'optimiseur. Je vois beaucoup de conseils qui disent essentiellement d'essayer l'index et de le garder si la performance s'améliore et de le laisser tomber si les performances se dégradent ou restent les mêmes. Je me demande s'il existe une meilleure façon de prendre la décision et quelles sont les meilleures pratiques à ce sujet.

Répondre

3

La première chose à connaître:

Lorsque vous passez 2000-2005 (en utilisant détacher et attacher) assurez-vous que vous:

  1. Set compability à 90
  2. reconstruisent les index
  3. à jour des statistiques de mise à jour avec analyse complète

Si vous ne le faites pas, vous obtiendrez suboptima l plans. Si la table est la plupart du temps en écriture, vous voulez aussi peu d'index que possible Si la table est utilisée pour beaucoup de requêtes de lecture, vous devez vous assurer que la clause WHERE est couverte par des index.

0

Le mieux est de rechercher les types de requêtes les plus courants dans votre base de données et de créer des index basés sur ces recherches. Par exemple, s'il y a une table qui stocke les hits de sites Web, ce qui est écrit très très souvent mais à peine lu. Ensuite, n'indexez pas la table.

Si jamais vous avez une liste d'utilisateurs qui accède plus souvent que ce qui est écrit, alors je créerais d'abord un index en cluster sur la colonne qui accède le plus, généralement la clé primaire. Je créerais alors un index sur les colonnes de recherche courantes, et celles qui sont utilisées dans l'ordre par les clauses.

3

Le conseil que vous avez obtenu est exact. Essayez-les tous, un par un.

Il n'y a AUCUN substitut au test en ce qui concerne les performances. À moins que vous ne le prouviez, vous n'avez rien fait.