V7R20


SQE : Utilisation des Index avec sélection

Exemple avec un Select simple



SQL va chercher les lignes de rang 5 ,7 ,8 etc....

Sous Visual Explain




SI vous demandez count(*) l'accès à la table n'est même pas réalisé (l'index EVI suffit)



Depuis la version 7.1 , vous avez la possibilité d'inclure des fonctions d'agrégation (SUM,AVG,MIN,MAX)  dans un index EVI.

      CREATE ENCODED VECTOR INDEX EVI01 ON COMMANDES
         (DATCMD, FAM)
                INCLUDE (SUM(QTE) , COUNT(*)  )

      Avec le groupe PTF SF99701 level 18,ou la 7.2,  les requêtes utilisant  GROUPING SET, ROLLUP ou CUBE, bénéficient aussi de ce type d'index.

 

Enfin, depuis la TR3(7.2) / TR11 (7.1), si l'existe un index EVI pour chaque colonne retournée, SQE n'utilisent que des index EVI,
 y compris pour faire la projection (liste des colonnes)



S'il existe un EVI sur HOST, il n'est pas utile de lire la table, le rapprochement des deux vecteurs permet d'aller lire la donnée dans le deuxième EVI

Cette technique, nommé EVI Only Access est automatique en 7.2.

Il faut utiliser l'option ALLOW_EVI_ONLY_ACCESS dans QAQQINI en 7.1

 

©AF400