Toutes les versions de serveur SQL reconstruisent-elles automatiquement les index ou ont-elles un critère de reconstruction par défaut?
Faire toutes les versions de SQL server reconstruire les index automatiquement ou avoir une reconstruction par défaut critères? Je comprends les statistiques sont reconstruit automatiquement, mais vous ne savez pas si les indices de faire aussi bien.
source d'informationauteur thiswayup
Vous devez vous connecter pour publier un commentaire.
La reconstruction d'index n'est pas automatiquement pris en charge dans la version de Microsoft SQL Server - la raison en est que la reconstruction d'index peuvent être très coûteuses opérations, et donc ont besoin d'attention de la planification et de la planification.
Dans de nombreux environnements des scripts spéciaux seront écrites pour gérer ceci, par exemple:
http://weblogs.sqlteam.com/tarad/archive/2008/09/03/Defragmenting-Indexes-in-SQL-Server-2005.aspx
Noter que, bien que SQL peut automatiquement mettre à jour les statistiques pour vous, dans de nombreux cas, il y a un gain de performance pour la gestion de ces avec plus de soin.
Que les gens ont mentionné ici, votre index ne pas reconstruire automatiquement. C'est un gros problème dans SQL Server, comme votre index va fragmenter au fil du temps. Vous pourriez trouver votre index sont à 95%, plus fragmenté, affectant les performances des requêtes mal.
Ici est une simple requête pour vérifier la fragmentation sur votre index existants:
Cela, vous obtiendrez une liste de tous les index dans votre DB avec leur fragmentation en %.
Vous pouvez facilement créer un script afin de reconstruire automatiquement ou de les réorganiser. Il y a un l'excellent article de SQLFool sur ce y compris les pré-faites script.
De s'étendre sur ce que Chris a dit:
À l'égard des statistiques, les colonnes ne sont pas couverts par un index n'auront pas leurs statistiques mises à jour par la reconstruction de tous les indices. Ils peuvent être périodiquement mis à jour par SQL Server toutefois, vous devrez peut-être faire vous-même avec la mise à JOUR des STATISTIQUES de déclaration.
SQL Server 2005 détermine si mettre à jour automatiquement des statistiques basées sur les changements de compteurs de modification de colonne (colmodctrs).
Un objet de statistiques est considéré comme périmé dans les cas suivants:
1.La taille de la table est passée de 0 à >0 lignes.
2.Le nombre de lignes de la table lorsque les statistiques ont été recueillies était de 500 ou moins, et la colmodctr de la première colonne de la statistique de l'objet a changé de plus de 500 depuis.
3.La table avait plus de 500 lignes si les statistiques ont été recueillies, et la colmodctr de la première colonne de la statistique de l'objet a changé de plus de 500 + 20% du nombre de lignes de la table lorsque les statistiques ont été recueillies
Vous pouvez trouver la référence suivante concernant les statistiques d'utilisation:
http://blogs.technet.com/rob/archive/2008/05/16/sql-server-statistics.aspx
Espère que cette aide, mais n'hésitez pas à poser d'autres questions.
Acclamations, John
Il convient de planifier et organisé vous-même.
Lorsque le tri, ça dépend de la taille de vos tables et de fenêtre de maintenance.
En outre, les statistiques sont reconstruit automatiquement lorsque les indices sont reconstruits, mais peut être programmée séparément.
Pour une solution rapide, en supposant une belle et longue fenêtre de maintenance et pas trop grosses (jusqu'à quelques 100 go), il suffit de programmer cette:
Edit: uniquement pour les > SQL 2005, SQL
@Chris a noté, les index ne sont pas reconstruit automatiquement dans n'importe quelle version de SQL Server. Bon indice de l'entretien est souvent manquant dans les sites sans avoir de rôle DBA, et souvent, lorsque les bases de données sont simplement déplacés du développement à la production (avec la maintenance du Journal des Transactions).
SQL Server 2005+ a la capacité de faire de l'index en ligne réorganise et hors ligne pleine reconstruction.