Optimisation par création d'indexe avec db2expln

From Tuxunix
Jump to: navigation, search

Analyse de la requête

Commande : db2expln Elle indique l'ordre dans lequel les tables sont parcourues. Les indexes qui sont utilisés. Une information très importante est le nombre de lignes lues. Il doit être le plus petit possible.

#> db2expln -d nomDeLaBase -t -q "marequete"

Ou un autre outil plus verbeux

#> db2exfmt -d nomDeLaBase -t fichierRequeteSql.sql


Cost: Statistique réalisé par l'optimiseur qui va estimé un coup pour la requête, inférieur à 9000 pas de soucie.

Cardinalite: Nombre de ligne parcoure.

indexes

Déterminer le besoin d'index grace à la commande "db2advis"

Avant il faut implémanter la table EXPLAIN à DB2 :

#> cd /home/nomInstance/sqllib/misc && db2 -tf EXPLAIN.DDL
#> db2advis -d nomBase -n nomSchema -a user/password -s "requete"


Mise en place d'un nouvel index :

#> db2 "create index nomIndex on TableAindexer( colonne ASC )"