Reportez-vous à la documentation de Mise en oeuvre
Présentation
On définit simplement trois valeurs (en nombre de lignes) caractérisant les tables sur lesquelles on teste les mémos.
Lorsque l'exécution de la fonction est terminée, on obtient un fichier trace en deux parties. La première partie est une liste des problèmes trouvés, triés dans l'ordre alphabétiques des fichiers de mémo et numéroté . La trace donne les informations sous la forme suivante :
NNN Mémo local UUUUU.NOM sur table XXXXXX (intitulé table)
MESSAGE | DEFINITION |
*** WARN (MMMM) *** DESCRIPTION | Problème de performance : la table fait MMMM lignes. |
*** PERF (MMMM) *** DESCRIPTION | Problème de performance sérieux : la table fait MMMM lignes. |
*** CRIT (MMMM) *** DESCRIPTION | Problème de performance critique : la table fait MMMM lignes. |
CHAMP DESCRIPTION | Explication |
Pas d'index adapté au filtre sur le(s) champ(s) CHAMP1 CHAMP2 ... : Problème de performance | Compte tenu des filtres indiqués, aucun index approprié n'existe. Si le mémo est utile et fréquemment utilisé, il faudra envisager un index d'optimisation. |
La clé de tri de la liste gauche (CLE1) est différente de la clé de filtrage (CLE2) | La base de donnée se sert d'un premier index (CLE2) pour filtrer les données, puis les trie selon l'index CLE1 afin de présenter la liste gauche. Ceci peut être un problème de performance si l'index servant au filtrage est peu sélectif (un grand nombre de lignes devant alors être triées). |
Opérateur 'Différent' sur champ CHAMP1 Opérateur 'Comme' sur champ CHAMP1 | Ces deux opérateurs ne permettent pas à la base de données d'utiliser de façon simple les index sur des bornes de valeur ; les performances peuvent donc être mauvaises. |
Opérateur 'ou' entre deux conditions | La sélection implique une ou plusieurs conditions séparées par des ou. Ce type de requête est en général assez lourd. |
Sélection sur expression : expression | Ce type de sélection n'est pas analysé et doit donc être vérifié pour savoir si un problème potentiel de performance existe. |
Plusieurs tables dans le mémo, vérifier la requête | On fait des sélections sur des jointures. Ce type de requête ne peut pas être vérifié automatiquement par l'utilitaire : une vérification manuelle s'impose pour savoir si un problème de performance peut exister. |
La deuxième partie de la trace donne une liste hiérarchisée des problèmes précédents (une ligne par problème). On y retrouve tout d'abord le numéro de problème précédent, le nom du mémo sous la forme UUUUUU.NOM/TABLE, le nombre de lignes de la table, et un résumé succinct des critères de filtre. L'ordre de tri est le suivant :
Ceci permet de se focaliser d'abord sur les mémos susceptibles de provoquer le plus de problèmes de performance.
Champs
Les champs suivants sont présents dans cet onglet :
Options de test
| Cette taille (en nombre de lignes dans la table) définit le seuil au dessus duquel un problème d'index dans un mémo est considéré comme critique du point de vue des performances. |
| Cette taille (en nombre de lignes dans la table) définit le seuil au dessus duquel un problème d'index dans un mémo est considéré comme sérieux du point de vue des performances. |
| Cette taille (en nombre de lignes dans la table) définit le seuil en dessous duquel un problème d'index dans un mémo n'est pas considéré comme pouvant poser des problèmes de performances. A partir de ce seuil, un message d'avertissement sera affiché (si on ne dépasse pas les seuils suivants). |
Cette fonction peut être lancée en batch, mais il n'existe pas de tâche standard dédiée à son lancement.