• # Sur l'usage de VACUUM

    Posté par  . Évalué à 8.

    L'auteur exclut l'usage de VACUUM en se focalisant sur sa forme VACUUM FULL, qui en effet réclame un verrou exclusif sur la table pour fonctionner.

    Et un VACUUM simple ne restitue pas l'espace au système d'exploitation.

    Mais le VACUUM simple récupère quand même l'espace en le rendant disponible pour les prochaines opérations sur la table. Pour des tables qui subissent des cycles importants "INSERT/DELETE", c'est déjà une très bonne façon de limiter l'augmentation déraisonnable de la place consommée par la table.

    Par exemple, si j'ai une table de transactions qui insère 1,000,000 lignes tous les jours, mais que je fais des purges au bout de 30 jours roulants, les 1,000,000 nouvelles lignes de demain iront utiliser l'espace libéré par la purge du jour. Et je n'ai que 1/30e de ma table en bloat, ce qui est acceptable au vu du gain en simplicité de maintenance et en performance (le VACUUM peut fonctionner en parallèle).

    Après, les techniques données dans l'article permettent effectivement de faire un nettoyage bien plus profond, complet, et surtout de bien sélectionner où le faire.

    Petit avis personnel : pour chaque table, on devrait avoir un plan d'estimation de ce qu'elle devrait consommer. Et ensuite suivre l'écart entre la taille estimée et la taille réelle pour décider d'une prise d'action.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.