web-dev-qa-db-fra.com

Le vide a-t-il besoin d'analyser

Je serais reconnaissant d'avoir une idée de la fonctionnalité VACUUM au sein de PostgreSQL 9.3. J'ai lu à travers la documentation et recherché un peu mais je n'ai pas trouvé de réponse définitive à cela.

Je configure un travail de maintenance hebdomadaire de DB pour un serveur 9.3.

Une partie de ce sera un VACUUM FULL. C'est une petite dB et j'ai une fenêtre de maintenance du week-end décent afin que je puisse exécuter le FULL sans aucun problème.

Y a-t-il un point dans l'ajout de l'option ANALYZE à la commande?

Selon la documentation 9.3:

VACUUM FULL Réécrire l'intégralité du contenu de la table dans un nouveau fichier de disque sans espace supplémentaire, permettant d'être renvoyé dans un espace inutilisé sur le système d'exploitation.

Si la table est complètement recréée, devez-il demander spécifiquement ANALYZE de se produire ou sont les statistiques mises à jour automatiquement car les lignes sont écrites dans la nouvelle version de la table?

8
Eoin O'Hehir

Les statistiques sont produites à partir des valeurs des colonnes. Comme ces valeurs ne sont pas modifiées par VACUUM FULL ou même par VACUUM, un frais ANALYZE est pas spécifiquement requis.

Si la base de données est dans une fenêtre de maintenance, c'est une bonne occasion de l'exécuter, cependant. Son temps d'exécution est susceptible d'être insignifiant par rapport à VACUUM FULL.

Par défaut, un DBA s'appuiera sur AutoVacuum/Auto-analysera plutôt que cela le faisait manuellement, à l'exception du manuel ANALYZE pour le moment où une nouvelle table qui était uniquement chargée en vrac ou fortement modifiée est immédiatement impliquée dans un requête pour laquelle une bonne planification ne peut être obtenue sans bonnes statistiques.

5
Daniel Vérité