Réorganisation de table

Après de nombreuses modifications apportées aux données de table, les données séquentielles logiques peuvent résider sur des pages de données non séquentielles, de sorte que le gestionnaire de base de données peut avoir besoin d'effectuer des opérations de lecture supplémentaires pour accéder aux données. De plus, si de nombreuses lignes ont été supprimées, des opérations de lecture supplémentaires sont également requises. Dans ce cas, vous pouvez envisager de réorganiser la table pour qu'elle corresponde à l'index et de récupérer de l'espace.

Vous pouvez également réorganiser les tables du catalogue système.

Etant donné que la réorganisation d'une table prend généralement plus de temps que la mise à jour des statistiques, vous pouvez exécuter la commande RUNSTATS pour actualiser les statistiques en cours de vos données, puis redéfinir les accès à vos applications. Si les statistiques actualisées n'améliorent pas les performances, la réorganisation peut être utile.

Les facteurs suivants peuvent indiquer un besoin de réorganisation de table:
  • Il y a eu un volume élevé d'activités d'insertion, de mise à jour et de suppression sur les tables auxquelles les requêtes accèdent.
  • Des modifications importantes ont été apportées aux performances des requêtes qui utilisent un index avec un taux de cluster élevé.
  • L'exécution de la commande RUNSTATS pour actualiser les statistiques de table n'améliore pas les performances.
  • La sortie de la commande REORGCHK indique la nécessité d'une réorganisation de table.
Note : Avec le Db2® V9.7 Fix Pack 1 et les versions ultérieures, une plus grande disponibilité des données pour une table partitionnée avec uniquement des index partitionnés (à l'exception des index de chemin XML générés par le système) est obtenue en réorganisant les données pour une partition de données spécifique. La réorganisation de niveau partition effectue une réorganisation de table sur une partition de données spécifiée alors que les autres partitions de données de la table restent accessibles. La sortie de la commande REORGCHK pour une table partitionnée contient des statistiques et des recommandations pour l'exécution de réorganisations au niveau de la partition.
Les commandes REORG TABLE et REORG INDEXES ALL peuvent être émises sur une table partitionnée de données pour réorganiser simultanément différentes partitions de données ou des index partitionnés sur une partition. Lors de cette opération, les utilisateurs peuvent accéder aux partitions non affectées mais ne peuvent pas accéder à celles concernées par la réorganisation. Tous les critères suivants doivent être réunis afin de pouvoir émettre des commandes REORG opérant simultanément sur la même table :
  • Chaque commande REORG doit spécifier une partition différente avec la clause ON DATA PARTITION .
  • Chaque commande REORG doit utiliser le mode ALLOW NO ACCESS afin de restreindre l'accès aux partitions de données.
  • La table partitionnée doit comporter uniquement des index partitionnés en cas d'émission de commandes REORG TABLE. Aucun index non partitionné (à l'exception d'index de chemin XML générés par le système) ne peuvent être définis sur la table.

Dans IBM Data Studio Version 3.1 ou ultérieure, vous pouvez utiliser l'assistant de tâches pour réorganiser les tables. Les assistants de tâche peuvent vous guider lors du processus de définition d'options, en vérifiant les commandes générées automatiquement pour effectuer la tâche et en exécutant ces commandes. Pour plus de détails, voir Administration des bases de données avec des assistants de tâche.