Quand mettre à jour les statistiques?

Jai hérité dun plan de maintenance qui effectue les opérations suivantes:

  • Nettoyer les anciennes données
  • Vérifie lintégrité de la base de données
  • Effectue des sauvegardes de la base de données et du journal des transactions
  • Réorganise nos index
  • Met à jour les statistiques
  • Supprime les anciennes sauvegardes et les fichiers du plan de maintenance

Sur le plan de maintenance de 23 minutes, la mise à jour des statistiques prend 13 minutes stupéfiantes. Pendant cette période de 13 minutes, laccès à la base de données est bloqué (ou du moins, la réplication de cette base de données vers nos autres) est en pause).

Ma question est:

Quand devrions-nous être Mettre à jour les statistiques et pourquoi?

Cela semble être le genre de chose que nous devrions faire moins fréquemment que tous les jours. Jessaie de nous sortir de la mentalité du «juste parce que» de faire ce qui est inutile Maintenance.

Commentaires

  • À quelle fréquence / comment des lignes sont-elles insérées / mises à jour / supprimées? Pour moi, cest le facteur décisif.
  • @JNK Nous insérons environ 70 000 lignes par jour dans toute la base de données. Mettez à jour ~ 100 lignes par mois.
  • 1 – Ceci est plus pertinent si nous savons par TABLE combien de lignes, et 2 – en pourcentage. 70 000 lignes par jour dans une table de 1 m est très différente de celle dans une table de 500 m
  • Je recommanderais dutiliser quelque chose comme ola.hallengren.com / … cette solution ne reconstruit / réorganise et met à jour que ce qui est nécessaire de cette façon vous pourriez raccourcir le temps que votre plan de maintenance prend et également économiser beaucoup despace de journal.

Réponse

Si vous ne disposez pas de la fenêtre de maintenance, la mise à jour quotidienne des statistiques est probablement un peu exagérée . Surtout si les statistiques de mise à jour automatique sont activées pour la base de données. Dans votre message dorigine, vous avez dit que les utilisateurs constatent une dégradation des performances en raison de ce plan de maintenance. Na-t-il pas dautre moment pour exécuter cette maintenance plan? Aucune autre fenêtre? Je vois que votre plan englobe la réorganisation des index, quand reconstruisez-vous les index? Lorsque cette opération se produit, les statistiques sont automatiquement mises à jour (à condition que ce ne soit pas désactivé pour le in dex).

La fréquence exacte à laquelle vous devez mettre à jour les statistiques dépend grandement de la quantité de modifications de données que vos index et données reçoivent . Sil y a très peu de modifications (INSERT, UPDATE, DELETE) aux données, alors vous pourriez avoir une planification plus rare pour le travail de mise à jour des statistiques.

Une façon de savoir si vos statistiques sont obsolètes est de regarder les plans dexécution et si vous estimez que les lignes diffèrent considérablement de vos lignes réelles renvoyées alors cest une bonne indication que lintervalle doit être augmenté. Dans votre cas, vous allez dans lautre sens et un peu dessai peut être dans lordre pour vous. Mettez à jour les statistiques chaque semaine, et si vous commencez à voir les signes révélateurs de statistiques obsolètes, partez de là.

Si vous utilisez les statistiques de mise à jour automatique pour votre base de données, consultez cette référence pour connaître le seuil de mise à jour des statistiques.

Commentaires

  • Nous reconstruisons les index une fois par semaine.
  • @ Onion-Knight Ensuite, vous mettez également à jour les statistiques une fois par semaine lorsque vous reconstruisez vos index . Cela pourrait être suffisant si vous ‘ refaites un index global dans la base de données.

Réponse

Quand mettre à jour les statistiques?

si et seulement si la fonctionnalité de mise à jour automatique des statistiques nest pas suffisante pour vos besoins. Je veux dire que si les statistiques de création automatique et de mise à jour automatique sont activées et que vous obtenez un mauvais plan de requête parce que les statistiques ne sont pas exactes ou à jour, il peut être judicieux de contrôler la création et la mise à jour des statistiques. mais si vous êtes daccord avec les performances de votre serveur SQL et les temps dexécution des requêtes.

alors je suggère darrêter les Statistiques des mises à jour de vos Plans de maintenance

la mise à jour des statistiques est importante et utile 1. permet à loptimiseur de requêtes SQL Server de produire de bons plans de requêtes de manière cohérente, tout en maintenant des coûts de développement et dadministration bas 2. Les statistiques sont utilisées par loptimiseur de requêtes pour estimer la sélectivité des expressions, et donc la taille des résultats intermédiaires et finaux des requêtes. 3.De bonnes statistiques permettent à loptimiseur dévaluer avec précision le coût des différents plans de requête, puis de choisir un plan de haute qualité


Si vous souhaitez mettre à jour les statistiques manuellement, vous devez dabord connaître Lorsque les statistiques sont mises à jour automatiquement

Si loptimiseur de requêtes SQL Server nécessite des statistiques pour une colonne particulière dune table ayant subi une mise à jour substantielle activité depuis la dernière création ou mise à jour des statistiques, SQL Server met automatiquement à jour les statistiques en échantillonnant les valeurs de colonne (à laide des statistiques de mise à jour automatique). La mise à jour automatique des statistiques est déclenchée par loptimisation de la requête ou par lexécution dun plan compilé et elle nimplique quun sous-ensemble des colonnes référencées dans la requête. Les statistiques sont mises à jour avant la compilation de la requête si AUTO_UPDATE_STATISTCS_ASYNC est OFF

voici de jolis articles qui parlent du moment où les statistiques de mise à jour sont déclenchées dans le serveur SQL

  1. from Simple-talk Section 13. Quand la mise à jour automatique des statistiques est-elle déclenchée?
  2. support.microsoft Section: Automatisation de la détermination des autostats
  3. msdn.microsoft section: Maintenance des statistiques dans SQL Server 2008

après avoir su quand les statistiques sont déclenchées, cela vous aidera à décider quand mettre à jour les statistiques manuellement

en savoir plus sur les statistiques & son effet sur les performances je recommande BrentOzar et Kimberly dans sqlskills très bons blogs & blogueurs .

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *