l’utilisation des index est devenu un enjeux majeur de la bas de données ,
On me pose réguliérement la question sur l’utilisation de ceux ci, je vais essayer de vous éclairer
En DDS/LF RPGLE (par exemple)
Vous connaissez tous cette solution on déclare le fichier LF ou index et on le lis quand on regarde la description de l’objet
vous avez la date de dernière utilisation , bien sur cette information est disponible dans la vue qsys2.object_statistics
En SQL/INDEX SQLRPGLE (par exemple)
Dans ce cas la vous allez lire la table par SELECT et c’est l’optimiseur qui va déterminer que vous avez besoin du chemin d’accès ou pas
attention : ce n’est pas parce que l’index existe qu’il sera utilisé , mais il sera avisé
Pour faire le ménage dans les indexs inutilisés ?
Il vous faudra donc croiser ses éléments avant de faire vos suppressions
rappel
Il y a des procédures dans systools qui permettent d’ajouter des indexs par rapport à des critères ,
c’est la procédure SYSTOOLS.ACT_ON_INDEX_ADVICE
et pour supprimer vous avez la procédures SYSTOOLS.REMOVE_INDEXES (ne supprimera que les index ayants pour nom %RADIX_INDEX% et %EVI_INDEX%
ca peut être brutal de les utiliser comme ca .
Par contre vous pouvez extraire les sources de ces procédures pour voir ce qu’elles font et vous en inspirer …
Vous avez des informations très intéressantes sur le sujet sur le lkdn de Christian Griere (merci à lui)
lien sur les index
https://www.linkedin.com/pulse/vos-tables-db2-i-sont-elles-trop-index%C3%A9es-christian-griere/
autres liens
https://www.linkedin.com/in/christian-griere-6a3828a/recent-activity/posts/