Comment puis-je savoir lequel SQL Server 2005 indice de recommandations à mettre en œuvre, le cas échéant?

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

  •  08-06-2019
  •  | 
  •  

Question

Nous sommes dans le processus de mise à niveau de l'un de nos instances de SQL Server à partir de 2000 à 2005.J'ai installé le tableau de bord de performance (http://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=en) pour l'accès à certains de haut niveau.L'un des rapports de défaut (recommandé) index.Je pense que c'est basé sur un système de vue qui est maintenue par l'optimiseur de requête.

Ma question est quelle est la meilleure façon de déterminer le moment de prendre un indice de recommandation.Je sais que ça n'a pas de sens pour appliquer l'ensemble de l'optimiseur de suggestions.Je vois beaucoup de conseils qui, fondamentalement, a dit d'essayer de l'index et de le conserver si les performances s'améliorent et à tomber si les performances se dégradent ou reste le même.Je me demandais si il ya une meilleure façon de prendre la décision et quelles sont les pratiques exemplaires à ce sujet.

Était-ce utile?

La solution

La première chose à prendre en compte:

Lorsque vous mettez à niveau à partir de 2000 à 2005 (en utilisant attacher et détacher) assurez-vous que:

  1. Jeu de compatibilité à 90
  2. Reconstruire les index
  3. Exécuter la mise à jour des statistiques de scan complet

Si vous ne le faites pas, vous obtiendrez plans non optimaux.

SI la table est principalement écrivez que vous voulez que les quelques indices que possible SI la table est utilisée pour un grand nombre de requêtes de lecture que vous avez à faire assurez-vous que la clause where est couvert par les index.

Autres conseils

Les conseils que vous avez obtenu est droit.Essayez-les tous, un par un.

Il n'y a PAS de substitut pour le test quand il s'agit de la performance.Sauf si vous le prouver, vous n'avez rien fait.

Votre meilleure recherche le type le plus commun de requêtes qui arrivent sur votre base de données et la création d'index en fonction de cette recherche.

Par exemple, si il y a une table qui stocke les visites du site web, qui est écrit de très très souvent, mais à peine lire.Alors ne pas indexer la table à l'écart.

Si jamais vous avez une liste d'utilisateurs qui est l'accès le plus souvent que ce qui est écrit, alors je voudrais tout d'abord créer un index cluster sur la colonne, qui est l'accès le plus, généralement la clé primaire.J'ai ensuite créer un index sur les de recherche, de colonnes, et celles qui sont à utiliser dans les clauses order by.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top