Service SQL IBM i (AS/400) · Procédure
SYSTOOLS.ACT_ON_INDEX_ADVICE
Créer des index à partir des conseils d'index
Procédure qui parcourt les conseils d'index de Db2 for i et crée des index SQL permanents selon des seuils (nombre de recommandations, utilisations d'un index temporaire).
À quoi ça sert
SYSTOOLS.ACT_ON_INDEX_ADVICE lit les conseils d'index de l'optimiseur et crée de vrais index SQL permanents pour ceux qui répondent aux critères. On la filtre par bibliothèque (P_LIBRARY) et par fichier (P_FILE), par nombre de recommandations (P_TIMES_ADVISED), par nombre d'utilisations d'un index temporaire géré par le système, ou MTI (P_MTI_USED), et par estimation moyenne de la requête (P_AVERAGE_QUERY_ESTIMATE). Un paramètre à NULL n'est pas utilisé comme filtre.
L'exemple d'IBM crée, pour la bibliothèque TOYSTORE, les index dont l'MTI a servi plus de 1000 fois. C'est un moyen de remplacer des index temporaires, reconstruits à chaque fois, par des index durables.
Attention : la procédure modifie la base en créant des objets. Contrairement à d'autres procédures, aucun paramètre de simulation n'apparaît dans sa liste.
Résultat réel sur un IBM i 7.5
Procédure non exécutée sur notre IBM i de test : elle agit sur la configuration du système ou sur d'autres travaux.
L'exemple d'IBM
Pour la bibliothèque TOYSTORE, trouver tous les conseils d'index dont un MTI a servi plus de 1000 fois et créer des index SQL permanents.
-- Description: For schema TOYSTORE, find all instances of index advice where
-- an MTI was used more than 1000 times and create permanent SQL indexes.
CALL SYSTOOLS.ACT_ON_INDEX_ADVICE('TOYSTORE',NULL,NULL,1000,NULL);
Bon à savoir
Commencez par choisir un seuil élevé : chaque index créé ralentit les écritures et occupe de l'espace disque. Vérifiez ensuite l'apport avec QSYS2.MTI_INFO.
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
P_LIBRARY |
CHAR(10) | obligatoire | Nom de la bibliothèque |
P_FILE |
CHAR(10) | obligatoire | Nom du fichier |
P_TIMES_ADVISED |
BIGINT | obligatoire | Nombre de recommandations de l'index |
P_MTI_USED |
BIGINT | obligatoire | Nombre d'utilisations de l'index temporaire géré par le système |
P_AVERAGE_QUERY_ESTIMATE |
INTEGER | obligatoire | Estimation moyenne de la requête à retenir |