Aller au contenu

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ètreTypePar défautSignification
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