Dans certains cas, reconstruire périodiquement les index par la commande REINDEX ou une série d'étapes individuelles de reconstruction en vaut la peine.
Les pages de l'index B-tree, qui sont devenues complètement vides, sont réclamées pour leur ré-utilisation. Mais, il existe toujours une possibilité d'utilisation peu efficace de l'espace : si, sur une page, seulement plusieurs clés d'index ont été supprimés, la page reste allouée. En conséquence, si seulement quelques clés sont supprimées, vous devrez vous attendre à ce que l'espace disque soit très mal utilisé. Dans de tels cas, la réindexation périodique est recommandée.
Le potentiel d'inflation des index qui ne sont pas des index B-tree n'a pas été particulièrement analysé. Surveiller périodiquement la taille physique de ces index est une bonne idée.
De plus, pour les index B-tree, un index tout juste construit est légèrement plus rapide qu'un index qui a été mis à jour plusieurs fois parce que les pages adjacentes logiquement sont habituellement aussi physiquement adjacentes dans un index nouvellement créé (cette considération ne s'applique pas aux index non B-tree). Il pourrait être intéressant de ré-indexer périodiquement simplement pour améliorer la vitesse d'accès.
REINDEX peut être utilisé en toute sécurité et très
facilement dans tous les cas. Cette commande nécessite un verrou
ACCESS EXCLUSIVE
par défaut. De ce fait, il est souvent
préférable de l'exécuter avec l'option CONCURRENTLY
qui
requiert seulement un verrou SHARE UPDATE EXCLUSIVE
.