Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utiliser les tables chronologiques
Si vos données ont une période de conservation fixe, vous pouvez les organiser sous forme de séquence de tables chronologiques. Dans une séquence de ce type, chaque table est identique mais contient des données provenant de différentes plages horaires.
Vous pouvez facilement supprimer les données anciennes en exécutant une commande DROP TABLE sur les tables correspondantes. Cette approche est beaucoup plus rapide que l'exécution d'une opération DELETE à grande échelle et vous évite aussi de devoir exécuter ensuite une opération VACUUM pour récupérer de l'espace. Pour masquer le fait que les données sont stockées dans des tables différentes, vous pouvez créer une vue UNION ALL. Lorsque vous supprimez des données anciennes, affinez votre vue UNION ALL pour retirer les tables supprimées. De même, lorsque vous chargez de nouvelles périodes dans les nouvelles tables, ajoutez ces nouvelles tables à la vue. Pour signaler à l'optimiseur de ne pas effectuer l'analyse sur les tables qui ne correspondent pas au filtre de requête, votre définition de vue filtre la plage de dates qui correspond à chaque table.
Évitez d'avoir trop de tables dans la vue UNION ALL. Chaque table supplémentaire ajouter un petit temps de traitement à la requête. Les tables n'ont pas besoin d'utiliser la même période de temps. Vous pouvez avoir des tables pour des périodes de temps différentes, par exemple quotidiennes, mensuelles et annuelles.
Si vous utilisez des tables chronologiques avec une colonne de type timestamp pour la clé de tri, vous chargez efficacement vos données dans l'ordre de la clé de tri. Cela vous évite d'avoir à exécuter une opération VACUUM pour trier à nouveau les données. Pour de plus amples informations, veuillez consulter Chargez vos données dans l'ordre des clés de tri.