> Tech > Query Optimizer et statistiques sur les bases de données

Query Optimizer et statistiques sur les bases de données

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

par James Stewart et Dan Cruikshank - Mis en ligne le 17/06/2002
Query Optimizer DB2 UDB for iSeries s'appuie sur de nombreux facteurs pour prendre la meilleure décision lors de la mise en oeuvre d'une requête. Ces facteurs sont les suivants : nombre de processeurs, vitesse des processeurs, nombre de bras de disques, quantité de mémoire, niveau PTF et disponibilité de SMP (Symmetric Multiprocessing) ...

Les statistiques tirées des bases de données sont l'une des principales informations dont dispose l'Optimizer. Ce sont les informations contenues dans les descriptions de fichiers base de données associées aux tables, vues, et index du système. Ces statistiques sont multiples : nombre d'enregistrements, taille des enregistrements, entrées d'index, valeurs de clés uniques, et bien d'autres. Contrairement à  d'autres plates-formes où les statistiques sont générées manuellement, cette information est dynamique sur l'iSeries (et sur l'AS/400 et le System/38) et l'Optimizer a toujours pu en disposer instantanément.

On n'insistera jamais assez sur l'importance de ces données. En effet, l'excès ou le manque de statistiques de base de données peut faire une énorme différence quand on met en oeuvre et exécute une requête. Dans cet article, nous éclairons ce point grâce aux expériences vécues par deux sociétés réelles. Comme il est d'usage en la matière, on a changé les noms des sociétés pour éviter aux auteurs d'éventuels procès.

Query Optimizer et statistiques sur les bases de données

L’iSeries Query Governor peut empêcher
le démarrage d’une requête qui
risque d’être longue. Il le fait en comparant
la « meilleure estimation » du
Query Optimizer à  la valeur de Query
Time Limit.

Pour activer le Query Governor, il
faut donner à  la valeur système QQRYTIMLMT
une valeur autre que sa valeur par défaut *NOMAX. Si, par exemple,
vous donnez à  QQRYTIMLMT la valeur
60, le Query Governor ne transmettra
pas une demande de requête individuelle
au gestionnaire de base de données
pour exécution, si l’Optimizer estime
que l’exécution de la requête
dépassera 59 secondes.

On voit bien l’avantage du Query
Governor : éviter le gaspillage de ressources
dans l’exécution d’une longue
requête. L’inconvénient correspondant
est que l’estimation de
l’Optimizer doit être raisonnablement
précise. C’est exactement cela – une
estimation trop généreuse de la part
de l’Optimizer – qui a soulevé le problème
suivant.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par iTPro.fr - Publié le 24 juin 2010